【发布时间】:2018-05-23 14:58:06
【问题描述】:
我有一个核心文件,想调试dlopen() 返回的句柄,例如验证它仍然完好无损。在句柄上调用的dlsym() 函数在堆栈跟踪中指示this=0x0。是否有关于 dlopen() 句柄背后的描述?还是我必须检查libdl.so 源代码?
【问题讨论】:
-
显示一些minimal reproducible example。 AFAIK,
core文件包含一些关于dlopen的痕迹 - 它知道哪些文件是mmap-ed- -
this=0x0通常表示静态对象尚未初始化。如果不了解您的代码,很难说这是否是问题所在。另见C++ FAQ | Static initialization order fiasco。