GDB 在 Rust 可执行文件中找不到调试符号
GDB doesn't find debugging symbols in Rust executable
这是我的 Cargo.toml 调试设置:
[package]
name = "rpolysolve"
version = "0.1.0"
authors = ["stiv"]
[dependencies]
[profile.dev]
debug = true
opt-level = 0
正如我从控制台输出中看到的,cargo 没有删除调试符号:
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.
如您所见,未找到调试符号,现在我可以设置断点了。我该如何解决这个问题?
好的,解决方案是切换工具链,即让二进制文件与 GNU 兼容:
rustup install stable-gnu
rustup default stable-gnu
不知道msvc工具链有没有gdb.exe
这是我的 Cargo.toml 调试设置:
[package]
name = "rpolysolve"
version = "0.1.0"
authors = ["stiv"]
[dependencies]
[profile.dev]
debug = true
opt-level = 0
正如我从控制台输出中看到的,cargo 没有删除调试符号:
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.
如您所见,未找到调试符号,现在我可以设置断点了。我该如何解决这个问题?
好的,解决方案是切换工具链,即让二进制文件与 GNU 兼容:
rustup install stable-gnu
rustup default stable-gnu
不知道msvc工具链有没有gdb.exe