草庐IT

windows - 如何在内核转储中获取 Section 对象的内容

来自3thParty供应商的部分对象名为rpsPdf10.mutex,其预期用途是通过向其写入bool标志来模拟信号量。使用LiveKd并在SO的大量帮助下,我发出了以下命令,试图获取此Section对象的详细信息。0:kd>!process003thParty.exe...PROCESSfffffa800ea80060SessionId:0Cid:0a00Peb:fffdf000ParentCid:014cDirBase:99349000ObjectTable:fffff8a004448bf0HandleCount:338.Image:3thParty.exe...0:kd>!han

windows - 从 Windows 用户模式转储文件中识别主机

是否有一种简单的方法可以找出通过WinDbg生成用户模式转储文件的机器的主机名?或者至少是任何一段识别信息,以尝试确认两个转储文件来自同一系统。 最佳答案 您可以通过使用WinDbg分析用户转储文件来做到这一点。运行!peb命令并在其输出中查找COMPUTERNAME的值。 关于windows-从Windows用户模式转储文件中识别主机,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

windows - 关于内存转储的问题

我目前正在尝试设计一个内存转储工具,它可以从另一个进程中获取崩溃进程的内存转储。但我对此完全陌生,我想借此机会深入了解内存转储技术。我想知道为崩溃进程创建内存转储的工作范例。我目前的天马行空的想象如下:当一个进程崩溃时,操作系统总是会知道(我不知道如何但它应该能够)。然后操作系统启动某种机制将崩溃进程的虚拟地址空间的内容复制到所谓的转储文件中。然后我们可以使用WinDbg对转储文件进行调试。我想知道,如果我们可以将崩溃进程的整个虚拟地址空间复制到转储文件中,文件会不会太大?或者我们可以指定要转储的虚拟地址空间(内核/用户)吗?任何人都可以提供一些引用资料供我开始使用,尤其是在以下方面:

c++ - 使用 Win7/64 分析在 XP/32 机器上生成的 Windows 崩溃转储?

我们在分析在我们开发机器上的客户WindowsXP/32机器上创建的Windows故障转储时遇到了问题。我们的许多开发机器现在都是Win7/64机器,但在WindowsXP下生成的故障转储似乎无法完全解析它们的二进制依赖性,从而导致在VisualStudio(2005)中显示调用堆栈时出现警告。例如,在WindowsXP上生成转储时,从Win7机器加载时无法解析msvcr80.dll:在XP上,WinSxS路径似乎是C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989

C++:转储 RAM 内容

如何在不触发访问冲突的情况下实现这一目标?我试过将bool指针设置为特定的起始位置,然后逐步递增它。这会导致访问冲突。我正在使用VisualStudio2010 最佳答案 Windows是一个虚拟内存操作系统。这意味着软件处理“内存”——它可能会或可能不会在某个时间点缓存在RAM中。相当多的进程内存可能存储在磁盘上-在页面文件中,或作为文件映射的一部分。那么,如果你从“转储RAM”降级为“转储内存”,那么你需要问问自己“哪个内存”。除了作为虚拟内存操作系统之外,Windows还可以保护应用程序免受彼此的影响-每个进程都有自己的专用内

使用 PowerShell 进行 MySQL 转储

$mysqlpath="C:\ProgramFiles\MySQL\MySQLServer5.6\bin"$backuppath="C:\Users\Tiffany\Downloads"$username="user"$password="123123"$database="db"$errorLog="error_dump.log"$date=Get-Date$timestamp=""+$date.day+$date.month+$date.year+"_"+$date.hour+$date.minute$backupfile=$backuppath+$database+"_"+$ti

windows - Windbg 故障转储中的性能计数器

是否可以在windbg中的nativec++应用程序转储中查看线程性能计数器。 最佳答案 不,不可能看到计数器的值,因为它们不存储在C++应用程序地址空间中。您可能从转储中提取的只是线程ID、用户时间、内核时间和运行时间(请参阅!runaway命令)。 关于windows-Windbg故障转储中的性能计数器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2333719/

c - 我怎样才能为 Windows 制作一个二进制文件,使非编码人员能够只获得一个可以提供给 gdb 的故障转储?

正如标题所暗示的那样:该场景是一个使用gdb的编码员和一个报告崩溃的用户。他能否从用户那里得到一个易于使用的内存转储,该转储可以提供给gdb但又不会让用户感到困难? 最佳答案 可以设置ProcessDumper根据可执行文件的名称在任何异常或进程退出时生成完整转储。由于标题,我假设是Windows,如果不是,请更改标签。 关于c-我怎样才能为Windows制作一个二进制文件,使非编码人员能够只获得一个可以提供给gdb的故障转储?,我们在StackOverflow上找到一个类似的问题:

c++ - 我如何读取小型转储?

我通过以下方式将小型转储写入文件:MiniDumpWriteDump.该文件是从客户端发送给我的(即我不能使用某种即时调试器)。我的问题是:如何打开它?VisualStudio给出错误:“不支持调试旧格式故障转储。”我用谷歌搜索,发现人们正在用visualstudio打开内核转储。这不是内核转储,只是应用程序崩溃的转储。我也试过用WinDbg打开它,但那也无法打开它。我怎样才能得到这些信息? 最佳答案 工具:http://technet.microsoft.com/el-gr/sysinternals/dd996900.aspx您在

windows - 我可以从 Windows 上的 ghc Haskell 进程转储中收集哪些信息?

我的命令行应用程序的一位用户报告说出现了一个无限循环。当进程处于这种状态时,他们很有帮助地转储了进程(通过任务管理器)并将其发送给我。我不确定如何从这个转储中获取有用的信息。我的windbg-zthe-dump-file.dmp-yreleases\v5.0.0-ireleases\v5.0.0的常规技术没有提供太多我知道如何解释的信息。我可以改用特定于ghc的工具吗?下一步,我应该在发布过程中添加构建选项还是我应该做的其他事情,以使这种事后调试更有成效?这是我看到的堆栈示例。没有太多有用的信息,特别是对于习惯在WinDbg中调试C/C++代码的人来说。:-)0Id:112dc.cc1