Visual C++:查找没有项目的符号引用

Visual C++: find symbol references without project

提问人:MattTT 提问时间:6/20/2023 更新时间:6/20/2023 访问量:76

问:

我有一个exe,它是使用Visual Studio C++编译器和链接器构建的,但没有VS项目。(构建过程使用 ANT 自动执行。

有没有机会仅使用 exe、其 pdb 和映射文件查找对符号的所有引用

不幸的是,地图文件显然只包含定义的位置。
使用上下文菜单功能查找所有引用(即使在调试中,拥有所有符号信息),也可以搜索“整个解决方案”、“外部源”、“当前项目”、“打开文档”,
但不能搜索“当前调试的 exe”。

或者是否有机会从 pdb + 映射重建 VS 项目,因为源文件路径包含在 pdb 中?
然后我可以在之后搜索这个项目。

C 工作室 可视化 C++ PDB 文件

评论

1赞 nick 6/20/2023
你如何调试你的exe?通过附加到正在运行的进程或将其作为项目打开?你有源文件吗?
1赞 MattTT 6/20/2023
@nick:我依附于这个过程。是的,我有源代码,但结构和预处理器开关处理很复杂。因此,简单地将所有源添加到项目中并不能产生一个工作项目(但确实是识别潜在引用的想法)。
0赞 nick 6/21/2023
如果您还没有,请尝试以下操作:启动 VS,选择“打开项目”,然后选择 Exe。这将创建一个新的 VS 项目,然后可以对其进行调试。我这样做只是为了单步执行一些简单的代码,所以我不知道你们还能用它做什么。不过,添加源可能会起作用。
0赞 MattTT 6/21/2023
@nick:我做到了。但是,即使在函数中中断并查看调用堆栈时,查找当前函数的所有引用(在“整个解决方案”中)也仅显示当前定义,甚至不显示直接调用方(仅当前文件中出现,以及不属于当前目标代码的行,例如由于预处理器切换)。切换到“当前项目”中的搜索,一无所获。穷。
0赞 nick 6/21/2023
啊,对了。这就是我所得到的,对不起:(

答: 暂无答案