我只会用基本的 debug,mac 下用 shell 跑一跑极其简单的 debug。
但是比如我要 access 二叉树某个结点的 int 值,我在 debug 下输入
print root->val
或者 access 一个 stack 的 front( )的值,
print q.front()
debug 就不认这个,总报错,不能 Print 出值来。。显示这个
“ Cannot evaluate function -- may be inlined ”
请问大神们怎么解决这个问题? c++好虐啊。。
1
judyApple OP 自己顶顶。。。
|
2
clarkok 2017-09-17 13:07:57 +08:00 via Android 1
编译的时候不要加优化参数,比如 gcc/clang 编译的时候把 -O1/2/3 改成 -O0
|
3
judyApple OP |
4
daimao 2017-09-17 13:33:49 +08:00 via iPhone 1
先学会怎么问问题再来提问吧…
|
5
zhaoxiting1997 2017-09-17 13:47:48 +08:00 via Android 1
不会用命令行 gdb 就用 IDE 啊
|
6
snnn 2017-09-17 15:02:06 +08:00 via Android
不要在 debugger 里面执行 c 的函数。你可以 print value,但是不要 print function
|
7
secondwtq 2017-09-17 19:16:16 +08:00 1
@zhaoxiting1997 Mac 下的 IDE,Xcode 和 CLion 都是调 lldb 的,楼主的问题并不会因为换了个看起来万能的 IDE 就一下子被解决了
|
9
zhaoxiting1997 2017-09-18 15:36:32 +08:00 via Android
|
10
arzterk 2017-12-27 17:17:12 +08:00
换 Visual Studio,装个 STLport&调试符号插件,什么 map\tree 都能看
|