我在使用gdb时遇到了问题(实际上我正在使用ddd,这是一个使用gdb的grahpic调试器),这是我看不到函数的返回值。
通过一个简单的程序,我可以看到我可以打印一个函数的输出。例如,如果object.peek()返回一个整数,如果我键入p object.peek()
,那么我得到例如1234
。我还记得当我在演绎C或C ++程序时打印任何值
我现在正在运行并分析一个复杂的程序,它是一个包含用C ++编写的共享对象库的python程序。我可以在C ++代码中设置断点并按照步骤操作。但是当我尝试看到某些函数的输出如param.input_dim_size()
时,调试器会给我输出:
(gdb) p param.input_dim_size()
Warning:
Cannot insert breakpoint 0.
Error accessing memory address 0x232460: Input/output error.
An error occurred while in a function called from GDB.
Evaluation of the expression containing the function
(caffe::NetParameter::input_dim_size() const) will be abandoned.
When the function is done executing, GDB will silently stop.
将两个调试器连接到同一个程序有什么关系?或者在Python中使用C ++库? (我猜不会)。或者在gdb中看到函数的输出有什么限制吗?