如何在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 代码。
p.s 我的代码中有 pthreads。
这个命令:
gcc -g -lm -lpthread -std=c99 -w terminalproject.c
是错误的。改用这个:
gcc -g -std=c99 -pthread terminalproject.c -lm
你应该永远不要使用-w
(抑制所有警告)标志,除非你想要痛苦的调试会话。
layout src
says No source Available
.
这可能意味着您使用的是更新的 GCC,而不是旧版 GDB。尝试从源代码构建最新的 GDB 版本——这通常并不难。
我正在尝试使用
调试我的 C 程序gcc -g -lm -lpthread -std=c99 -w terminalproject.c
然后
gdb a.out
但是当我打字的时候
layout next
,它显示的是汇编代码而不是 C 代码。
如何在布局中切换到C代码?
编辑:我正在使用 Red Hat Linux 6,我试图在 Ubuntu 中 运行 它,它正在显示 C 代码。
p.s 我的代码中有 pthreads。
这个命令:
gcc -g -lm -lpthread -std=c99 -w terminalproject.c
是错误的。改用这个:
gcc -g -std=c99 -pthread terminalproject.c -lm
你应该永远不要使用-w
(抑制所有警告)标志,除非你想要痛苦的调试会话。
layout src
saysNo source Available
.
这可能意味着您使用的是更新的 GCC,而不是旧版 GDB。尝试从源代码构建最新的 GDB 版本——这通常并不难。