1

我正在使用 gdb 的next n命令,当我停止时,我通常会写信finish以了解我在哪个文件中着陆:

(gdb) finish
Run till exit from #0  klee::Executor::executeAlloc (this=0x5555577dfaf0, ...) at 
/home/oren/GIT/klee/str.klee/klee/lib/Core/Executor.cpp:3218

有没有更优雅的方法来知道我现在正在调试哪个文件

我的意思是:

(gdb) next 100
3
3194                   true);
(gdb) whereami
/home/oren/GIT/klee/str.klee/klee/lib/Core/Executor.cpp:3194

我目前的方法让我把所有东西都跑了两次......

4

1 回答 1

3

我认为该backtrace命令可以满足您的要求:

(gdb) backtrace 1
#0  0x00007ffff76ed441 in __pselect (nfds=1, readfds=0x7fffffffcc00, 
    writefds=0x0, exceptfds=0x0, timeout=<optimized out>, 
    sigmask=0x7fffffffcb80) at ../sysdeps/unix/sysv/linux/pselect.c:69
于 2018-04-29T11:58:43.683 回答