CodeBlock IDE工具是跨平台软件,在window上,提供GCC编译环境。所以,如果想在windows上调试ffmpeg,CodeBlock是理想工具。
能够边debug ,边能看源代码的条件是必须要明确的。
如果我告诉你需要gdb工具,你可能说是废话。但如果你像我一样没有linux平台开发经验的话。
那我就可以分享一下至关重要的经验:确保版本一致性,或者协调性。
举例来说,GCC版本不一致,gdb的结果是不一样的,很有可能某个函数的位置不能确定,当然,就不能step in了。
所以,调试器必须和编译器匹配,两者有点互为逆向的意思!否则,即使不影响运行,但不会跑到库对应的源文件中。
为了能进入sws_scale函数,我用了很长时间,最后,在CodeBlock中重新设置了gdb(用mingw\bin下的版本),GCC后,终于可以进入该函数了。
同样,make版本不同,也会有不同结果。这也许是GNU普遍的现象吧。
设置版本方法:
CodeBlock:Settings->Compiler and Debugger ,select "ToolChain excutalbes".