Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Directory windbg中的源路径可以嵌套多深?_Directory_Windbg_Code Organization - Fatal编程技术网

Directory windbg中的源路径可以嵌套多深?

Directory windbg中的源路径可以嵌套多深?,directory,windbg,code-organization,Directory,Windbg,Code Organization,如果我有多个二进制文件,它们的源文件分散在覆盖文件夹的各个子文件夹中,那么如果源文件路径中只包含最上面的文件夹,windbg会访问它们吗?而不是必须分别引用每个相关二进制文件的每个项目文件夹 当然,假设源在上述文件夹结构中是唯一的,即同一个项目、源等没有多个版本。简短回答:否 来自windbg的帮助: 对于符号路径中的每个目录,调试器将在三个目录中查找 目录。例如,如果符号路径包含c:\MyDir 目录,调试器正在查找 调试器首先在c:\MyDir\symbols\DLL中查找,然后在 c:\M

如果我有多个二进制文件,它们的源文件分散在覆盖文件夹的各个子文件夹中,那么如果源文件路径中只包含最上面的文件夹,windbg会访问它们吗?而不是必须分别引用每个相关二进制文件的每个项目文件夹

当然,假设源在上述文件夹结构中是唯一的,即同一个项目、源等没有多个版本。

简短回答:否

来自windbg的帮助:

对于符号路径中的每个目录,调试器将在三个目录中查找 目录。例如,如果符号路径包含c:\MyDir 目录,调试器正在查找 调试器首先在c:\MyDir\symbols\DLL中查找,然后在 c:\MyDir\dll,最后是c:\MyDir。然后,调试器重复此操作 符号路径中每个目录的进程。最后是调试器 在当前目录中查找,然后在当前目录中使用 \附加到它的dll。(调试器根据需要附加dll、exe或sys 正在调试哪些二进制文件。)


您可以将所有项目的.pdb文件移动到一个文件夹中,或者更改项目属性,并设置链接器以在特定文件夹中创建.pdb文件,这样您只需引用一个文件。

如果在源路径中为源文件指定父文件夹,则它应遍历子目录以查找源文件

请注意,它将对源文件执行签名匹配,就像VisualStudio抱怨源文件与加载的DLL不同一样


源文件的相对位置必须与原始位置匹配,因此如果源文件位于不同的结构中,则需要手动加载/浏览以指定源文件的位置。

无法准确回答,但我通常有3个顶级(父)目录,每个目录都有大约4-5级的子目录。没问题。但是,没有什么比使用

更好的了,我知道这是符号文件路径的规则,但我要求的是源文件路径。我的.pdb和.dll文件位于一个文件夹中,但它们的源文件不在其中。我找到的最简单的方法是根据需要重新排列windbg窗口,打开最常用的源文件并保存一个工作区(VEW)文件。您可以在另一个windbg会话中使用命令行或“打开工作区”菜单选项再次加载它。我认为,如果您指定父文件夹,则只要相对位置仍然相同,它就应该能够找到其他文件的源代码