[英]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 src
说No source Available
。
这可能意味着您使用的是更新的 GCC,但使用的是古老的 GDB。尝试从源代码构建最新的 GDB 版本——这通常并不难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.