Debug Clang executables on Windows with GDB

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Debug Clang executables on Windows with GDB

spackogesicht
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Hey,

I am currently trying to use Clang + LLD on Windows 7 and get a debuggable executable that can be processed by GDB.
I compiled the newest SVN version for this with VS2017 and also tried the 4.1 and 4.0 binary available on the website with the same result.

The GDB version is got is 7.11.1 and it is the one bundled in Mingw-w64 I use the following simple commands:
clang++ -fuse-ld=lld -gdwarf -O0 test.cpp -o test.exe -v
gdb test.exe
break main
start
The compiler spits out the following (I removed "-internal-isystem" for readability):
-cc1 -triple x86_64-pc-windows-msvc19.10.25019 -emit-obj -mrelax-all -mincremental-linker-compatible 
-disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.cpp 
-mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose 
-mconstructor-aliases-munwind-tables -target-cpu x86-64 -D_MT -flto-visibility-public-std 
--dependent-lib=libcmt --dependent-lib=oldnames -stack-protector 2 -fms-volatile 
-fdiagnostics-format msvc -momit-leaf-frame-pointer -v -dwarf-column-info -debug-info-kind=limited 
-dwarf-version=4 -debugger-tuning=gdb -resource-dir "C:\\LLVM\\lib\\clang\\5.0.0" -O0 
-fdeprecated-macro -fdebug-compilation-dir "C:\\LLVM\\bin" -ferror-limit 19 -fmessage-length 113 
-fms-extensions -fms-compatibility -fms-compatibility-version=19.10.25019 -std=c++14 
-fdelayed-template-parsing -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics 
-o "C:\\Users\\***\\AppData\\Local\\Temp\\test-e9cc9b.obj" -x c++ test.cpp
And the linker this (I removed "-libpath" for readability):
-out:test.exe -nologo -debug "C:\\Users\\***\\AppData\\Local\\Temp\\test-e9cc9b.obj"
Then when I try to debug it gives me the following error:
Reading symbols from test.exe...done.
(gdb) break main
Breakpoint 1 at 0x14001b012: file test.cpp, line 5.
(gdb) start
Temporary breakpoint 2 at 0x14001b012: file test.cpp, line 5.
Starting program: C:\LLVM\bin\test.exe
[New Thread 19548.0x4fc4]
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x14001b012

Command aborted.
This is the first time I post here and if I can improve my question or provide more information in any way don't hesitate to tell me please.


Thanks.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Debug Clang executables on Windows with GDB

Xin Wang via cfe-dev
Hey Clang Community,

I am currently trying to use Clang + LLD on Windows 7 and get a debuggable executable that can be processed by GDB.
I compiled the newest SVN version for this with VS2017 and also tried the 4.1 and 4.0 binary available on the website with the same result.

The GDB version is got is 7.11.1 and it is the one bundled in Mingw-w64


I use the following simple commands:

clang++ -fuse-ld=lld -gdwarf -O0 test.cpp -o test.exe -v

gdb test.exe
break main
start


The compiler spits out the following (I removed "-internal-isystem" for readability):

-cc1 -triple x86_64-pc-windows-msvc19.10.25019 -emit-obj -mrelax-all -mincremental-linker-compatible -disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases-munwind-tables -target-cpu x86-64 -D_MT -flto-visibility-public-std --dependent-lib=libcmt --dependent-lib=oldnames -stack-protector 2 -fms-volatile -fdiagnostics-format msvc -momit-leaf-frame-pointer -v -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -resource-dir "C:\\LLVM\\lib\\clang\\5.0.0" -O0 -fdeprecated-macro -fdebug-compilation-dir "C:\\LLVM\\bin" -ferror-limit 19 -fmessage-length 113 -fms-extensions -fms-compatibility -fms-compatibility-version=19.10.25019 -std=c++14 -fdelayed-template-parsing -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o "C:\\Users\\***\\AppData\\Local\\Temp\\test-e9cc9b.obj" -x c++ test.cpp

And the linker this (I removed "-libpath" for readability):

-out:test.exe -nologo -debug "C:\\Users\\***\\AppData\\Local\\Temp\\test-e9cc9b.obj"


Then when I try to debug it gives me the following error:

Reading symbols from test.exe...done.
(gdb) break main
Breakpoint 1 at 0x14001b012: file test.cpp, line 5.
(gdb) start
Temporary breakpoint 2 at 0x14001b012: file test.cpp, line 5.
Starting program: C:\LLVM\bin\test.exe
[New Thread 19548.0x4fc4]
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x14001b012

Command aborted.



This is the first time I post here and if I can improve my question or provide more information in any way please don't hesitate to tell me.


Thanks.
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Loading...