GDB在Rust可执行文件中找不到调试符号

时间:2017-08-22 16:15:57

标签: gdb rust symbols missing-symbols

这是我的带有调试设置的Cargo.toml:

[package] 
name = "rpolysolve" 
version = "0.1.0" 
authors = ["stiv"]

[dependencies] 
[profile.dev] 
debug = true  
opt-level = 0

正如我从控制台输出中看到的那样,货物没有删除调试符号:

Finished dev [unoptimized + debuginfo] target(s) in 5.66 secs

我已经将gdb-7.9.1-tdm64-2下载到windows7上的C:\ gdb-7.9.1-tdm64-2文件夹中。现在我尝试使用项目文件夹中的此命令启动它:

C:\gdb-7.9.1-tdm64-2\gdb64\bin\gdb.exe ./target/debug/rpolysolve.exe

GNU gdb (GDB) 7.9.1
... GNU blablabla cut here ...
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./target/debug/rpolysolve.exe...(no debugging symbols found)...done.

如您所见未找到调试符号,现在我可以设置断点。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

好的,解决方案是切换工具链,即使二进制文件与GNU兼容:

rustup install stable-gnu 
rustup default stable-gnu

我不知道msvc工具链是否有gdb.exe。