今天我使用SysInternals工具ProcDump生成转储文件,在cmd窗口中运行这样的命令::loopnetstop"MyService"netstart"MyService"echoMonitoringAccessviolationsprocdump.exe-e-g-maMyApplication.exeMyDumpFile.dmp>log.txtgotoloop但是否有另一种方法可以直接告诉Windows在应用程序崩溃时创建转储?例如,我找到了这个注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashCon
我收到一份WER报告,说我们的.net应用程序在某台机器上崩溃了,我得到了崩溃的转储文件,但我尝试了很多方法,阅读了很多关于调试.net崩溃的文章,但仍然没有运气,我什至无法运行sos.dll提供的扩展命令,我总是收到以下消息“找不到运行时DLL(clr.dll),0x80004005扩展命令需要clr.dll才能执行某些操作。”我想知道如何知道那台机器上的.net框架版本?因为非扩展命令可以工作!!请帮忙!!当我使用“lm”命令列出所有加载的模块时,我没有在模块列表中找到“clr”或“clrjit”模块,这是否意味着我的应用程序在崩溃之前实际上没有运行,可以我说机器上的.net框架坏
Windows8.1、64b上周一切顺利。每当我运行heroku命令时,它都会尝试安装heroku核心插件,例如:C:\Users\Usr\Documents\Aptana3_Workspace\mobile-site>herokurunInstallingcorepluginsheroku-apps,heroku-fork,heroku-git,heroku-local,heroku-run,heroku-status...?module.js:338?throwerr;?^??Error:Cannotfindmodule'./bin/npm-cli.js'?atFunction.M
您好,我正在尝试使用WinDbg查看memory.dmp内核转储文件,以诊断崩溃。当我打开崩溃文件并获取符号时,我收到消息BugCheckA,{2,ff,4e,fffff801a42ebff2}CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.Probablycausedby:ntkrnlmp.exe(nt!KxWaitForLockOwnerShipWithIrql+12)Followup
我有一个在客户站点生成的核心转储。我只能从时间戳中找到转储文件打开的时间。(文件名的一部分。)是否可以查看异常发生在几毫秒?这将使我能够更准确地与日志文件(以毫秒为单位)进行比较。 最佳答案 如上所述,“.time”是您获取转储发生时间戳的方式。对于用户转储,这是不太可能的——根据我的观察,它总是只有二级精度。然而,对于内核转储,我发现它精确到毫秒。但是,我发现“.time”输出中的“系统正常运行时间”对于内核和用户转储都精确到毫秒。如果您能够获得精确到毫秒的上次启动时间(例如通过调用“wmicosgetlastBootUpTime
我试图通过它们的绝对路径(在其他地方以编程方式确定)打开几个不同的文件,这样我就可以获得它们的SHA1哈希*,其中一些是核心Windows文件。当我尝试按如下方式打开文件时,fopen()在某些(但不是全部)文件上返回NULL(通常文件名是通过QueryFullProcessImageName获取的,但为了以防万一,我对其进行了硬编码):char*filename="c:\\windows\\system32\\spoolsv.exe";FILE*currFileRead=fopen(filename,"rb");if(currFileRead==NULL){printf("Faile
我正在尝试分析在我的应用程序发生挂起后从我的一位最终用户那里收到的内存转储。它似乎与我的应用程序的音频播放部分有关。我相信涉及两个线程,即将开始播放声音的主线程,以及一个更新程序线程,它迭代链表中的声音以不断更新它们的状态。但是,我不明白挂起的来源是什么。我的WinDbg知识有限,但我设法弄清楚挂起似乎发生在音频库的SetLoop方法中(具体在静态声音代码中)。我使用DirectSound,在这种情况下应用程序在Windows732位上运行(我自己在XP上开发,我从来没有遇到过这样的问题)。静态声音类在检查声音是否正在播放之前锁定关键部分,如果不是,则将循环标志设置为true或fals
来自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
是否有一种简单的方法可以找出通过WinDbg生成用户模式转储文件的机器的主机名?或者至少是任何一段识别信息,以尝试确认两个转储文件来自同一系统。 最佳答案 您可以通过使用WinDbg分析用户转储文件来做到这一点。运行!peb命令并在其输出中查找COMPUTERNAME的值。 关于windows-从Windows用户模式转储文件中识别主机,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
我目前正在尝试设计一个内存转储工具,它可以从另一个进程中获取崩溃进程的内存转储。但我对此完全陌生,我想借此机会深入了解内存转储技术。我想知道为崩溃进程创建内存转储的工作范例。我目前的天马行空的想象如下:当一个进程崩溃时,操作系统总是会知道(我不知道如何但它应该能够)。然后操作系统启动某种机制将崩溃进程的虚拟地址空间的内容复制到所谓的转储文件中。然后我们可以使用WinDbg对转储文件进行调试。我想知道,如果我们可以将崩溃进程的整个虚拟地址空间复制到转储文件中,文件会不会太大?或者我们可以指定要转储的虚拟地址空间(内核/用户)吗?任何人都可以提供一些引用资料供我开始使用,尤其是在以下方面: