查看某段代码或语句的被调用路径的方法小结
在看代码时,难免想要知道它是最开始在哪里被调用至此的,或者本段代码是否会被调用.但是由于程序比较复现,各种宏定义,导致很难通直接阅读的方式确认它的被调用路径.平时个人比较喜欢用以下几种方法来确认其调用路径:
1, 遇到有宏定义不确认其是否真的有定义时,
直接在此定义后的代码处加了一些字符,然后编译一下;如果能编译过去,则说明此宏有定义;否则没有定义.
比如如下的一段字符就加在了宏定义的后面,然后再编译;如果编译成功,则说明"__POWERON_BT_SCAN__"是没有被定义的,它下面的代码也就不会被执行;
2, 能过加backtrace:
比如如下的函数,在程序中由于各种重新定义,多外调用等问题,很难直观上确认它的调用路径.如果在其后面加上backtrace()接口,
那么,在执行起来的,通过addr2line工具可以直接确认它的调用路径.