草庐IT

windows - 测试 MS-CAPI CSP,即使使用 WinDbg 内核调试,签名也会失败

尝试在Win7下测试一个新的CSP。将启动配置设置为允许内核调试,运行WndDbg并选择file:kerneldebug并设置为本地。尝试将signtool与我的新CSP一起使用仍然会导致签名失败检查。环境是:OSName:MicrosoftWindows7HomePremiumOSVersion:6.1.7601ServicePack1Build7601OSManufacturer:MicrosoftCorporationOSConfiguration:StandaloneWorkstationOSBuildType:MultiprocessorFreeSystemModel:Del

是否可以启用在 Cygwin 终端中运行的非 Cygwin 应用程序的事后调试?

我们有一个混合了Cygwin和非Cygwin程序的系统,所有这些程序都在Cygwinbashsession下运行。其中一个非Cygwin可执行文件定期崩溃,我正在尝试使用windbgasoutlinedhere启用事后调试.我写了一个故意崩溃的测试程序。按照上面页面中的步骤进行操作后,当测试程序崩溃时,windbg会自动打开——这正是我要找的。但是,如果我从Cygwin的bash运行测试程序,bash会打印一条“Segmentationfault”错误消息并且windbg不会打开。有没有办法让windbg打开非Cygwin程序,该程序是从Cygwinbashshell启动的,崩溃了?P

windows - 如何在 x64 VC++ 编译器上禁用 FPO 优化

最近我开始使用Windbg(x64),为了玩它,我编译了(x64)一个示例程序使用cl.exels.c/Zi/Od/GS-有趣的是,为可执行文件生成的函数包含FPO优化。下面是一个例程的反汇编片段。0:000>ufls!GetDateStringls!GetDateString:00007ff7`459a6d00movqwordptr[rsp+8],rcx00007ff7`459a6d05subrsp,88h00007ff7`459a6d0cmovqwordptr[rsp+58h],000007ff7`459a6d15movqwordptr[rsp+50h],000007ff7`459

windows - 如何阻止 WinDbg 缩小窗口?

这是一个奇怪的错误。比如说,如果我打开WinDbg并按照我喜欢的方式放置所有窗口:然后,出于某种原因,我打开WinDbg的次数越多,它就越会缩小所有这些窗口。所以随着时间的推移,它最终看起来像这样:有没有办法阻止它这样做? 最佳答案 这不是对旧版本WinDbg的修复。这就是如何在10以外的Windows系统上安装WinDbgPreviewv.10。(@magicandre1981在对我的原始问题的评论中建议。)安装WinDbgPreview从Windows10计算机上的Windows应用商店。然后运行它。打开任务管理器并切换到进程选

.net - Fn 地址不可用

我正在尝试调试我的演示应用程序(Windows窗体)以破坏内存中的特定函数。我将我的应用附加到windbg;获取一个函数的地址(点击某个按钮,通过x命令)并在那里放置一个未解析的断点(bu)。但是我无法激活这个断点,因为我的函数地址不可用;即使我运行我的应用程序并通过按钮单击事件调用该函数。 最佳答案 实际上你应该设置一个地址断点所以使用bp而不是bu就像这样:bp12345678其中12345678是x输出的地址,见documentation。 关于.net-Fn地址不可用,我们在St

windows - 在 Windows Crypto API 中跟踪 CSP 调用

我正在使用WindowsServer2008R2证书颁发机构处理私钥存档。在客户端,我很想知道当客户端请求启用存档的证书时,Windows进程调用了哪些CryptoAPI函数。特别是,我的重点是跟踪此处列出的函数调用,http://msdn.microsoft.com/en-us/library/aa922849.aspx,存在于Advapi32.dll中。我在这里试用了windbg/cdb脚本(http://blogs.msdn.com/b/alejacma/archive/2007/10/31/cryptoapi-tracer.aspx)。我在发出证书请求时将它附加到mmc.exe

c++ - Windbg:ChildEBP和RetAddr的含义

在WinDbg中,k或kb命令展开堆栈并生成堆栈跟踪。输出看起来像这样-ChildEBPRetAddrArgstoChild0021b2f0559fdbf204b885a002a300005a675a790021b3dc559fc3b802a3d0b80021b4c000000000据我所知,EBP是指向当前栈帧起始地址的基指针。RetAddr是“返回地址”,一旦当前函数返回,处理将在此处继续。但是,据我所知,函数框架被压入堆栈。那么,为什么RetAddr的值与ChildEBP的值明显不同?它们应该是相似的,因为我们在同一个堆栈上工作。我错过了什么吗? 最佳

c++ - 使用 symstore.exe 无法在 Windbg 或 Visual Studio 中为小型转储加载符号

为了跟踪仅在Windows8用户计算机上发生的Qt崩溃,我设置了一个本地符号服务器以用于调试故障转储。首先,我使用以下标志集进行了完整构建:QMAKE_CFLAGS_RELEASE+=-ZiQMAKE_CXXFLAGS_RELEASE+=-ZiQMAKE_LFLAGS_RELEASE+=/DEBUG/OPT:REF并使用WindowsInstaller和VS部署项目构建了一个安装程序。然后我运行了以下symstore.exe命令:C:\ProgramFiles(x86)\WindowsKits\8.1\Debuggers\x64>symstore.exeadd/r/fC:\buildd

windows - windbg 内存泄漏调查 - 缺少堆内存

我正在使用windbg调查Windows应用程序中的缓慢内存泄漏!heap-s给出以下输出HeapFlagsReservCommitVirtFreeListUCRVirtLockFast(k)(k)(k)(k)lengthblockscont.heap-------------------------------------------------------------------------------------00000023d62c0000080000021182680116999611819001575927697832b63LFH00000023d483000008008

windows - 创建 QEmu guest 操作系统的 WinDbg 可读转储

我在Linux上运行QEmu,虚拟化操作系统是WindowsXP。我想要第一种或第二种可能性:在QEmu中应用一个命令,创建一个可以用WinDbg打开的转储在QEmu中应用一个创建特定类型转储的命令,然后使用另一个实用程序使其可被WinDbg读取我知道QEmu的“dump-guest-memory”(创建ELF转储)、rekall的raw2dmp插件和Volatility的raw2dmp插件。WinDbg可以扫描输出,但实际上您会遇到header错误的问题-可能是转储中最重要的部分,当使用上述工具/插件创建转储时,这毫无用处。许多字段缺少正确的详细信息。与Windows操作系统本身创建