Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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
C 解释gdb输出_C_Linux_Gdb - Fatal编程技术网

C 解释gdb输出

C 解释gdb输出,c,linux,gdb,C,Linux,Gdb,我的程序中有一个segfault,试图通过gdb检测源代码 gdb的O/p如下所示: [Switching to Thread 0xb6dffb70 (LWP 6448)] #0 0x00adc026 in __strlen_sse2_bsf () from /lib/libc.so/6 #1 0x08049e77 in sim_txn (fd=0x804c5c0) at rand_trace0.c:390 在rand_trace0.c:390 system_call_length = str

我的程序中有一个segfault,试图通过gdb检测源代码

gdb的O/p如下所示:

[Switching to Thread 0xb6dffb70 (LWP 6448)]
#0 0x00adc026 in __strlen_sse2_bsf () from /lib/libc.so/6
#1 0x08049e77 in sim_txn (fd=0x804c5c0) at rand_trace0.c:390
rand_trace0.c:390

system_call_length = strlen("rename(")+strlen(filename1)+strlen(",")+strlen(filename)+strlen(")")+1;
在这之前,一切似乎都在运转。
我不知所措。

是否
filename1
filename
都是指向以null结尾的字符串的有效指针?最常见的原因是,如果指针没有正确初始化,或者其中一个字符串没有以null结尾(可能是因为缓冲区溢出),从而导致
strlen()
试图读取超过分配内存大小的内容。

是否
filename1
filename
都是指向以null结尾的字符串的有效指针?最常见的原因是,如果指针没有正确初始化,或者其中一个字符串没有以null结尾(可能是由于缓冲区溢出),从而导致
strlen()
试图读取超过分配内存大小的内容。

filename1的值是多少?(不是指针,而是指针指向的数据,直到终止
0
)检查文件名和文件名1。它们是有效的C字符串吗?那一行太乱了,为什么不使用sprintf以更清晰的方式创建这一行,然后使用strlen()生成结果?@jcomeau_ictx..我同意…事情加起来就变得一团糟。
filename1
的价值是什么?(不是指针,而是指针指向的数据,直到终止
0
)检查文件名和文件名1。它们是有效的C字符串吗?那一行太乱了,为什么不使用sprintf以更清晰的方式创建这一行,然后使用strlen()生成结果?@jcomeau_ictx..我同意..事情加起来就一团糟了。