这次要记录的感觉是个比较硬核的问题,限于标题字数限制,没法准确表达出所有问题,比如,调试断点单步跟踪FFmpeg代码时,代码不按顺序执行,满处乱飞,断点位置查看周围局部变量,不能正常显示值,比如这样:

局部变量offset无法显示当前值,而是显示“Variable is optimized away and not available.”的信息,看字面意思可以猜到,代码被编译器做了优化了,比如直接内联省去中间变量,所以看不到了。
但是,FFmpeg的构建configure参数确实设置了
–disable-optimizations –enable-debug –disable-stripping
这些官方说明的构建debug版的参数,怎么实际调试的时候还是会出现上面描述的种种看起来是代码被优化了造成的调试跟踪障碍呢?
Continue reading…

