为什么windbg在不同的路径上搜索dump和exe文件
Why does windbg search different paths for dump and exe file?
当我在WinDbg中打开转储文件时,它会在c:codeappV1
文件夹
当我直接在WinDbg中打开exe文件时,它会在c:codeappV2
文件夹中查找pdb文件。
这让我很抓狂,因为在这两种情况下,windbg都在调试同一个exe,它位于c:MyAppapp.exe
c:codeappV1
有意义搜索,这是pdb文件由exe生成的路径,但为什么它在c:codeappV2
中搜索与转储文件或exe没有任何连接?
我对此进行了深入研究,创建了一个演示项目,模拟崩溃并尝试了各种组合。答案是,当涉及到默认搜索路径(pdb)时,转储文件似乎对可执行文件有覆盖作用。
下面是你如何复制这个场景:
- 在c:codeApp1创建一个名为App1的项目并构建它。复制上述项目,并将主文件夹重命名为App1Clone并构建它,在c:codeApp1Clone中输入
现在首先复制App1到c:test文件夹并运行它。它将崩溃并创建转储文件。
现在将App1从App1Clone文件夹复制到c:test文件夹并运行它。它将崩溃并创建转储文件。
现在两个转储文件都链接到c:testapp1.exe,但如果存在错误的app1.exe(=搜索路径不匹配),它显然会选择应该存储在转储文件中的路径。我不知道转储文件是否存储这个路径,但根据我的实验,情况似乎是这样的。
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 在C++中搜索嵌套多映射值
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 为什么二进制搜索在我的测试中不起作用
- 正在尝试重载二进制搜索树分配运算符
- c++binary_search函数排序数组(流行名称搜索)出现问题
- 向量上的线性搜索
- 如何在动态数组上使用搜索函数
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- cmake:添加要搜索头文件的目录
- 使用C++创建特殊的二叉搜索树
- 在C++的字符串中搜索和删除某些字符
- std::unordered_map 搜索算法是如何实现的?
- 使用不变量来确定二分搜索中的边界条件
- 二叉搜索如何比线性搜索更快?
- 按边长度递归搜索图中所有可行路径
- QStackWidget - 按名称搜索
- 在递归二叉搜索树中搜索
- 为什么windbg在不同的路径上搜索dump和exe文件