【发布时间】:2016-01-19 09:09:03
【问题描述】:
如果我将崩溃程序和核心转储加载到gdb,它会显示如下堆栈跟踪和崩溃点。
Core was generated by `./cut --output-d=: -b1,1234567890- /dev/fd/63'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 is_printable_field (i=1234567890) at src/cut.c:266
266 return (printable_field[n] >> (i % CHAR_BIT)) & 1;
(gdb) bt
#0 is_printable_field (i=1234567890) at src/cut.c:266
#1 set_fields (fieldstr=0x7ffccb0561c4 "") at src/cut.c:533
#2 main (argc=4, argv=0x7ffccb055cf8) at src/cut.c:865
有没有办法知道导致段错误的确切汇编指令?
【问题讨论】:
-
@terencehill 反汇编高级行可能会产生多个汇编指令。
-
也许你可以试试
layout asm,然后一步一步直到程序崩溃。 -
如果不需要从 gdb 完成,那么在
valgrind下运行会有所帮助 -
如果某个答案解决了您的问题或对您有所帮助,请考虑接受,另见:meta.stackexchange.com/questions/5234/…
标签: linux segmentation-fault coredump