- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 DLL 的 MAP 文件,我正在尝试调试它。我使用 Map2Dbg-tool 将其转换为 DBG 文件并将其放入符号路径中。
尽管发出.reload/f mydll.dll不起作用,但会发生符号加载错误。
然后我尝试使用!sym嘈杂来诊断它,它告诉我Windbg查找正确的符号路径,但仅限于PDB文件(mydll.pdb )。
有没有办法强制 Windbg 找到我的 DBG 文件?
编辑:
以下是一些进一步的信息:
Windbg 中的符号搜索路径:
> .sympath
e:\code-factory\symbols;cache*;SRV*http://msdl.microsoft.com/download/symbols
dbg 文件位于该目录中:
e:\code-factory\symbols> dir /b
cdmod.dbg
cdmod.map
...
.重新加载输出:
> .reload /f cdmod.dll
DBGHELP: e:\code-factory\symbols\cdmod.pdb - file not found
DBGHELP: e:\code-factory\symbols\dll\cdmod.pdb - file not found
DBGHELP: e:\code-factory\symbols\symbols\dll\cdmod.pdb - file not found
SYMSRV: D:\Portable\Debugging Tools for Windows\x86\sym\cdmod.pdb\BD09115E93474ABCB6152149A23F95372\cdmod.pdb not found
SYMSRV: Get File Path: /download/symbols/cdmod.pdb/BD09115E93474ABCB6152149A23F95372/cdmod.pdb
************* Symbol Loading Error Summary **************
Module name Error
cdmod PDB not found : e:\code-factory\symbols\symbols\dll\cdmod.pdb
Unable to locate the .pdb file in this location
PDB not found : cache*
Unable to locate the .pdb file in this location
The system cannot find the file specified : SRV*http://msdl.microsoft.com/download/symbols
The SYMSRV client failed to find a file in the UNC store, or there
is an invalid UNC store (an invalid path or the pingme.txt file is
not present in the root directory), or the file is present in the
symbol server exclusion list.
谢谢
最佳答案
拖放
*.dbg 文件到 exe 所在的文件夹
如果模块的 lm output
表示 imagexxxxxxx
而不是模块名称
更改 dbg 文件的名称以匹配它,例如 imagexxxxx.dbg
do .reload/f
并且windbg应该使用cv代码符号
预目录内容
:\>dir /b
msgbox.exe
msgbox.map < created via ida produce map
将 map 转换为 dbg
:\>map2dbg msgbox.exe lucian wischik utility
Converted 7 symbols.
帖子目录内容
:\>dir /b
msgbox.dbg
msgbox.exe
msgbox.map
在windbg中加载exe
:\>windbg msgbox.exe
0:000> lm
start end module name
00400000 00404000 image00400000 (deferred)
0:000> .reload /f
Reloading current modules
ERROR:Module load completed but symbols could not be loaded for image00400000
0:000> lm e
start end module name
00400000 00404000 image00400000 (no symbols)
$ rename the msgbox.dbg to image00400000.dbg
重命名dbg文件
:\>ren msgbox.dbg image00400000.dbg
:\>dir /b
image00400000.dbg
msgbox.exe
msgbox.map
将CV代码符号信息加载到windbg中的符号文件
0:000> .reload /f
Reloading current modules
0:000> lm e
start end module name
0:000> lm m i*
start end module name
00400000 00404000 image00400000 (codeview symbols)
C:\Documents and Settings\Admin\Desktop\nosym\image00400000.dbg
0:000> x image00400000!*
00401000 image00400000!start = <no type information>
0040101a image00400000!MessageBoxA = <no type information>
00401020 image00400000!ExitProcess = <no type information>
00403000 image00400000!Caption = <no type information>
00403019 image00400000!Text = <no type information>
0:000> da image00400000!Caption
00403000 "Iczelion's tutorial no.2"
关于windbg - 将 dbg 符号文件加载到 WinDbg 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27562203/
我正在尝试分析一些小型故障转储。我使用的是 Windows 10 Pro Build 1607 和 WinDbg 10.0.14321.1024。我的符号文件路径设置为 SRV*C:\SymCache
我正在尝试追踪谁在进行特定大小的分配,我尝试使用用户模式堆栈跟踪数据库 (gflags +ust),但由于 FPO,我无法看到整个堆栈。因此,我想在 RtlAllocateHeap 达到我正在寻找的分
是否可以搜索整个可执行内存空间以找到调用特定方法的所有位置?例如,我想从调用 MyApplcation!MyFunction 的位置查找所有函数。使用“s”命令搜索特定的 optcode 不是一个选项
我在我的程序中遇到了一个 stackoverflow 异常,它可能来自第三方库 microsoft.sharepoint.client.runtime.dll。 使用 adplus 创建故障转储,我面
是否有任何扩展命令可以这样做?我只想包含所有参数的整个命令行。 最佳答案 命令行参数等信息存储在 PEB 中(进程环境块)。 您可以找到 a list of common commands here.
在 OllyDbg 中,它允许你运行直到返回,例如你遇到了 ret或 leave操作说明。 WinDbg 支持吗?我在菜单中没有找到这样的功能。 最佳答案 如果您想在返回之前停止,可以使用pt .如果
我正在尝试使用 d* 命令评估 WindDbg 中调用堆栈的内容。我知道我要转储的数据的地址是 [ebp+8] .但是,当使用此命令时,WinDbg 以 8 字节偏移量在 ebp 处转储数据。我想转储
有没有办法告诉 WinDbg 忽略由 DebugBreak function 引起的程序断点? 最佳答案 看看 Controlling Exceptions and Events MSDN 上的页面。
我尝试在 c# 应用程序的源代码中使用 WinDbg 设置断点,但没有成功。 当我使用 WinDbg 时,有没有办法在托管应用程序的源代码处设置断点? 复制步骤如下: 1.制作一个简单的c#应用程序
我正在尝试使用 WinDBG 检查可执行文件的程序集,但我很难找到它。我想在程序的第一条指令处设置断点,但是当我尝试手动执行此操作(使用模块的地址)时,WinDBG 告诉我它“无法在该位置插入断点”,
我正在逆向一个 win32 应用程序。 问题: 调试程序时。我发现计数器曾经跳转到地址 0x0043D4A0。 (这是一个函数入口点)。 0043D4A0 51 P
作为驱动程序开发人员,WinDbg 是我最好的 friend 之一。 现在从 Windows 8 开始,我安装了新的 WDK 并想使用它的新 WinDbg。它具有一些不错的功能,例如通过网络进行远程调
我需要调试在 Windows 上运行的正在运行的程序。它有时会因“内存访问冲突”而崩溃。 使用 windbg(无法使用 IDE)我附加到正在运行的进程(这是程序不得停止的要求) 命令行是 windbg
我正在调查 WinDBG 中的 Windows 转储文件。我可以通过命令 .frame 切换调用堆栈帧,但我发现寄存器始终包含最后一个上下文。我的意思是,是否可以恢复属于非顶级调用堆栈帧的特定调用堆栈
我正在调试一个模块,该模块只有 .exe 和 .pdb,没有私有(private)符号。 在调试 session 期间,我需要检查内部结构。显然这个结构不会出现在 PDB 中,因为它是私有(priva
Intel Power Gadget该工具无法在我的系统上运行,我正试图找出原因。它是运行 Window 8.1 x64 的 Core i7-720QM。 AIDA64 可以很好地读取 CPU 温度,
我在程序中遇到访问冲突。 Windbg 显示程序正在尝试读取 0x09015000 .它在地址旁边显示问号 ( ?? )。我的问题是,这些问号表示什么。它们是否意味着从未分配过内存位置,即它不受任何物
如何将命令窗口的内容直接保存到日志文件中而不在WinDbg的命令窗口显示这些内容? 最佳答案 假设您还不知道这一点,您可以使用 -log{o|a} windbg command line选项来指定您希
我使用的是 WinDBG 6.12.0002.633 X86。 我遇到了命令行调试器 CDB 的问题,它没有显示与 k 的 WinDBG 相同的结果。和 kL命令。 在 WinDBG 中,k命令正确显
我正在开发一个 32 位应用程序,它有时会导致某些 64 位 Windows 7 机器崩溃。我使用 Sysinternals 的 ProcDump 实用程序生成了崩溃的转储文件。 (我使用了命令“pr
我是一名优秀的程序员,十分优秀!