1

我正在开发一个大型 C++ 应用程序,它使用动态库通过插件接口在运行时加载功能。

有时会发生跨库加载的重复符号(本地类、函数等忘记包装在匿名命名空间中,与非本地命名空间级别符号的其他不幸冲突等),这会导致 SEGV 或其他更危险的运行时未定义的行为。

谁能推荐一个工具/技巧来捕捉这种重复的符号?我想检查 150-200 个 dll 的固定列表。

4

1 回答 1

0
nm -j -U <list of library names> | sort | uniq -d

对于 Windows,您需要nm使用适当的工具替换以从 DLL 中转储符号。

于 2013-07-12T14:04:50.533 回答