Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gdb 找到程序挂起的位置_Gdb - Fatal编程技术网

Gdb 找到程序挂起的位置

Gdb 找到程序挂起的位置,gdb,Gdb,当我使用gdb附加一个挂起的进程,并得到下面的信息。 我怎么知道关键点在哪里? 地址“0x000000000041f828”是什么 提前感谢, (gdb) where #0 0x00002b2a5b2c379a in sigsuspend () from /lib64/libc.so.6 #1 0x000000000041e9fe in ?? () #2 0x000000000041fd9b in ?? () #3 0x000000000041f7d9 in ?? () #4 0x00

当我使用gdb附加一个挂起的进程,并得到下面的信息。 我怎么知道关键点在哪里? 地址“0x000000000041f828”是什么

提前感谢,

(gdb) where
#0  0x00002b2a5b2c379a in sigsuspend () from /lib64/libc.so.6
#1  0x000000000041e9fe in ?? ()
#2  0x000000000041fd9b in ?? ()
#3  0x000000000041f7d9 in ?? ()
#4  0x000000000041f828 in ?? ()
#5  0x000000000041f828 in ?? ()
#6  0x000000000041f828 in ?? ()
#7  0x000000000041f828 in ?? ()
#8  0x000000000041f828 in ?? ()
#9  0x000000000041f828 in ?? ()
#10 0x000000000041f828 in ?? ()
#11 0x000000000041f828 in ?? ()
#12 0x000000000041f828 in ?? ()
#13 0x000000000041f828 in ?? ()
#14 0x000000000041f828 in ?? ()
#15 0x000000000041f828 in ?? ()
#16 0x000000000041f828 in ?? ()
#17 0x0000000000403bc5 in ?? ()
#18 0x0000000000405f93 in ?? ()
#19 0x00002b2a5b2b0994 in __libc_start_main () from /lib64/libc.so.6
#20 0x0000000000403729 in ?? ()
当我使用gdb附加一个挂起的进程,并得到下面的信息

您获得的输出可能有两个原因:

您已附加进程,但未指定正在运行的可执行文件,或 您的二进制文件已完全剥离。 对于案例1,不要这样做:

gdb
(gdb) attach 1234
改为这样做:

gdb -p 1234
或者这个:

gdb /path/to/binary 1234
gdb /path/to/binary
(gdb) attach 1234
或者这个:

gdb /path/to/binary 1234
gdb /path/to/binary
(gdb) attach 1234
对于情况2,不要完全剥离二进制文件,因为这会使调试变得不可能。如果您没有将其作为单独的构建步骤来执行,请在链接线上查找零散的-s或-Wl,-s,然后将其删除