gpt4 book ai didi

c++ - 注入(inject)的 DLL 不能使用 Symbols pdb,除非它与构建在同一目录中

转载 作者:行者123 更新时间:2023-11-28 06:10:31 24 4
gpt4 key购买 nike

我有一个问题,我试图有选择地分发我的 pdb(symbol) 文件,这样我就可以让用户给我更详细的崩溃报告。

所以...我的 DLL 被注入(inject)到另一个 exe(在另一个文件夹中)。从我测试过的所有内容来看,我的 PDB 文件必须位于用户机器上与我机器上完全相同的目录中,才能正确找到它。

IE...当我构建时,我将 PDB 放在 C:\PDB\Mypdb.pdb

如果用户创建了确切的文件夹并将 pdb 放在那里,注入(inject)的 dll 将在崩溃时向他显示行号。但是,如果他将 mypdb.pdb 与 dll 或注入(inject)目标放在一起,则它们不会收到任何符号。

关于如何强制我的 DLL 在可定制位置使用符号文件有什么想法吗?

最佳答案

这是因为默认情况下,链接器使用绝对路径指向它生成 PDB 文件并将其存储在 DLL 本身的位置。您可以通过传递 /PDBALTPATH 来更改 PDB 文件的路径。选项和链接器的相对路径。

关于c++ - 注入(inject)的 DLL 不能使用 Symbols pdb,除非它与构建在同一目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com