我正在实现自己的名为_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
的{{1}}函数。
但是我遇到了细分错误。我已将内存大小设置为100。
malloc
现在开始,但是分段错误发生在kalloc
的第3个循环中。
int _size = 4
请帮助我找出为什么main()
发生的原因。
答案 0 :(得分:0)
请尝试gdb跟踪发生段错误的位置。假设您使用的是Linux / unix,请使用选项编译代码(如果编译器是gcc)
gcc -ggdb -g3 <.c file> -o <progname>
使用gdb执行程序名
gdb <progname>
在gdb提示符下
gdb> run
在segfault上,gdb提示将显示您将回溯检查为的位置
gdb> bt
它将显示发生段错误的行号以及函数调用堆栈(带编号的帧) 对于要检查的变量或指针的值,请使用gdb打印命令
gdb> p <varnams>
要检查调用堆栈中的特定功能,请转到该堆栈框架,
gdb> frame <frame number>