问题已开启
(普通问题)
libTest.a中的send_log函数,没有打印出来,是直接跳过去的,为什么。。
libTest.a中的send_log函数,没有打印出来,是直接跳过去的,为什么。。
提问者: wx_10356795 提问时间: 2024-05-14
精选答案:
这可能是因为几种可能的情况:
1. 生产环境和测试环境可能有不同的设置:特别是在日志等级方面,可能只有在某种特定等级的日志才会被打印。
2. 如果libTest.a使用了某种条件编译(#ifdef ... #endif),send_log可能在生产环境下被编译器忽略。
3. libTest.a是一个静态库。如果其内部的函数依赖于某个全局的标志或开关,而这个标志在main程序中没有被正确设置,那么即使你正确链接了libTest.a,send_log函数可能还是不会被调用。
4. 检查一下你的编译环境和链接指令,确保你链接的是包含send_log符号的正确版本的libTest.a库。
其它可能原因还有很多,如程序异常,内存溢出等等。你需要根据以上提示进行一一排查。另外,你可以使用像gdb这样的调试工具,来看一下在运行时函数是否被正确调用,或者通过strace等工具来追踪函数调用。
这可能是因为几种可能的情况:
1. 生产环境和测试环境可能有不同的设置:特别是在日志等级方面,可能只有在某种特定等级的日志才会被打印。
2. 如果libTest.a使用了某种条件编译(#ifdef ... #endif),send_log可能在生产环境下被编译器忽略。
3. libTest.a是一个静态库。如果其内部的函数依赖于某个全局的标志或开关,而这个标志在main程序中没有被正确设置,那么即使你正确链接了libTest.a,send_log函数可能还是不会被调用。
4. 检查一下你的编译环境和链接指令,确保你链接的是包含send_log符号的正确版本的libTest.a库。
其它可能原因还有很多,如程序异常,内存溢出等等。你需要根据以上提示进行一一排查。另外,你可以使用像gdb这样的调试工具,来看一下在运行时函数是否被正确调用,或者通过strace等工具来追踪函数调用。
回答者:
老KKKK 回答时间:2024-05-14
0
0
扫码付费即可复制
X
问题答案
( 1 )
联系我们 - 问通信专家 | Powered by MSCBSC 移动通信网 © 2006 - |