繁体   English   中英

gdb中如何从汇编代码切换为c代码

[英]how to switch from assembly code to c code in gdb

我正在尝试使用调试我的 c 程序

gcc -g -lm -lpthread -std=c99 -w terminalproject.c

然后

gdb a.out

但是当我layout next时,它显示的是汇编代码而不是 c 代码。

如何在布局中切换到C代码?

编辑:我正在使用 Red Hat Linux 6,我试图在 Ubuntu 中运行它,它显示 C 代码。

ps 我的代码中有 pthreads。

这个命令:

gcc -g -lm -lpthread -std=c99 -w terminalproject.c

错误的。 改用这个:

gcc -g -std=c99 -pthread terminalproject.c -lm

永远不应该使用-w (抑制所有警告)标志,除非你想要痛苦的调试会话。


layout srcNo source Available

这可能意味着您使用的是更新的 GCC,但使用的是古老的 GDB。尝试从源代码构建最新的 GDB 版本——这通常并不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM