调试xcode的时候无论如何都显示不出来变量的值, 下面列出解决办法
Optimization Level方法debug下改为none
默认我的就是none, 所以这个无效
http://blog.csdn.net/ajrm0925/article/details/8646956检查Run下的编译是否是Debug, 查了一下是
edit scheme -> run -> Info 中查看build configuration是否为debug添加exception c++断点
事实上, 加上这个断点, 只能让app变得更卡, 完全起不到捕获变量的功能, 看着卡顿以为会临时给断电存储数据, 断的地方依旧没有变量值setting里面”Compiler for C/C++/Objective-C” 必须是(debug下) “DWARF with dSYM File”
另外”Strip Debug Symbols During Copy” 必须是(debug下) No
还是一样, 这些都是这样设置的
http://stackoverflow.com/questions/28132242/variable-value-doesnt-show-during-debug-in-xcode-with-sfml-library
因为本人工程有几个不同的app, 但是其他app能调试成功, 所以筛查setting
- setting内的Apple LLVM xxx Custom Compiler Flags下的Other C Flags 删掉了Debug中的”-O2” 成功检测到变量值
http://m.blog.csdn.net/blog/iomato/8479178
查了一下, 这个应该是cocos2dx引擎创建模板工程自己加进去的
少优化->多优化:
O0 –>> O1 –>> O2 –>> O3
事实上gcc的所有级别的优化(-O, -O2, -O3等)都会打开-fomit-frame-pointer,该选项的功能是函数调用时不保存frame指针,在ARM上就是fp,故我们无法按照APCS中的约定来回溯调用栈
被cocos2dx坑了一回