我正在使用gdb
调试C++
程序。在行中
assert(prevId == GetTagIdFromState(maxState));
prevId
的值为0
; GetTagIdFromState(maxState)
return
s 50
; 调试时,出现以下错误。
Assertion `prevId == GetTagIdFromState(maxState)' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff6ecbba5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
最佳答案
您的应用程序按预期工作。断言失败(由于您传递给它的值不相等,因此assert
宏收到0),因此程序被中止。断言就是这样工作的:
强调我的。
检查this assert reference以获取更多信息。
关于c++ - 调试c++ : . ./nptl/sysdeps/unix/sysv/linux/raise.c:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13152775/