问题标签 [adplus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
batch-file - 如何编写 ADPlus 脚本以方便客户用于诊断崩溃和挂起
我们非常喜欢在Windows 调试工具中为遇到崩溃或挂起的客户使用ADPlus 。然而,我们遇到的最大问题是试图解释客户需要输入什么才能运行它。我们会向他们发送一个脚本,但似乎准确的咒语取决于用户是使用 32 位还是 64 位以及他们下载的调试工具的确切版本。
我们目前复杂的指令是这样的:
- 查找调试工具的安装位置——它可能是
c:\program files (x86)\Debugging Tools for windows (x86)
或c:\program files\Debugging tools for windows (x86)
其他一些变体 - 如果您正在运行 64 位应用程序,那么您将
c:\program files\Debugging tools for windows (x64)
需要 - 找出你的用户目录是什么,它可能
c:\users\jim
或z:\documents and settings\jim
启动命令提示符并键入:
<你上面的路径>\adplus -hang -pn myprocess.exe -o <你的用户目录>\crash_dumps
显然,这有很大的出错空间,并不是最好的用户体验,所以我希望能够向用户发送一个批处理文件或其他将检测到的脚本:
- 调试工具的位置
- 用户的主目录
那么,有没有办法找出调试工具的安装位置呢?如果该位置存在于注册表中,是否可以轻松地将其提取到批处理文件中?用户的主目录也可以从批处理脚本中找到吗?我的系统(Win7-64)有一个环境变量HOMEPATH
。我可以假设存在吗?
dump - ADPlus 转储分析。如果生产中不存在 PDB 文件?
我正在分析一个在生产中随机挂起的应用程序。我想使用 ADPlus/DebugDiag 通过生成转储进行分析。如果我在运行“调试”模式应用程序的情况下生成转储,我能够看到正确的调用堆栈,其中提到了函数名称详细信息,但如果我使用“发布”模式应用程序生成转储,调用堆栈无法正确解析,因为 PDB 文件是在发布模式下不与它关联。
我可能不允许在生产环境中复制 PDB 文件。那么还有其他方法可以解决调用堆栈吗?
如果您需要更多详细信息,请告诉我。
谢谢大家。
windbg - Adplus 转储创建失败 - 访问被拒绝
我正在尝试获取转储以调试 ASP.NET 进程(Windows 2003 R2 SP2 x64)中的一些内存问题:
有九个 w3wp.exe(都来自不同的网站)。每次我像上面那样运行 adplus 时,一些转储都会失败并出现以下错误:
失败似乎是随机的(或者我应该说我找不到原因),即有时某些进程转储很好,有时它们会因此错误而失败。我检查的事情:
- 我确实拥有完整的管理权限
- 目标硬盘上有足够的空间
- 我在 IIS 上禁用了 ping 和故障保护,以防止 IIS 在 adplus 转储时终止进程。
还有什么我应该检查的吗?有没有其他人遇到过这个问题?Adplus 版本是 7.01.002 (02/27/2009)(几天前从最新的 SDK 下载)
c++ - 如何理解已释放块的损坏中缀模式
我们启用了 PageHeap 并在我们的系统上运行 adplus,最近出现了几个“用于释放块的损坏的中缀模式”故障。
有人可以阐明这意味着什么,它在代码中可能是什么样子,并就如何最好地解决问题提出建议?
非常感谢马特·佩德尔斯登
iis - 如何使用 ADPLUS _ONLY_ 获取 MiniDumpOnSecond
对于生产 Win2003 Web 服务器,我希望能够在 w3wp.exe 进程崩溃时始终记录小型转储...我已阅读 ADPLUS 的文档,并将其 xcopy 部署到生产 Web 服务器,并且已从命令行启动 adplus.exe,如下所示:
adplus.exe -crash -MiniOnSecond -NoDumpOnFirst -pmn w3wp.exe -o C:\Dumps
这确实记录了“MiniOnSecond”,但它也首先记录了完整的转储——我不想要那些(它们是大文件,没有我需要的东西)。有没有人找到让“-NoDumpOnFirst”标志真正起作用的方法?此外,每次重新启动机器时,我都希望这种行为 - 如果不运行批处理文件,如何在重新启动时完成?我已经阅读了有关 Windows 错误报告 (WER) 的信息,在 Win2008R2 服务器上实现这种行为是微不足道的——如何在 2003 服务器上实现这一点?
我已经阅读了 ADPLUS 和 WER 的文档——但我需要有关实际命令行和/或注册表设置的帮助,以便在 Win 2003 服务器上轻松捕获小型转储。谢谢你的帮助!
asp.net - 分析 Asp.net 死锁故障转储
我的asp.net 上出现了死锁。我不知道它来自哪里(什么功能),而不是谈论那个功能在哪里。
我使用 adplus (http://support.microsoft.com/?ID=828222) 生成了转储文件
然后使用 Debug Diag & windbg 找出问题所在。(还没有成功.. :()
我没有想法了!请帮我...
(Windows 2003、Asp.net 2、32 位)
Windbg转储:
.net - 我应该继续运行 adplus 吗?
我知道,如果我遇到 w3wp.exe 进程崩溃的问题,那么我可以在崩溃前运行 adplus 来捕获转储...
但是,如果我没有预料到任何故障或崩溃,我是否应该让 adplus 在崩溃模式下运行以防万一,在生产环境中?
这对性能有影响吗?
debugging - AdPlus 和 WinDbg:使用 AdPlus 和使用 WinDbg 进行转储的区别?
任务 - 当应用程序崩溃时,需要找到崩溃原因。
我看到了使用 AdPlus 获取故障转储然后将其加载到 WinDbg 进行分析的建议。
我所做的是将 WinDbg 附加到进程并等待 WinDbg 显示异常后程序崩溃进行调试。
使用 AdPlus 而不是直接将 WinDbg 附加到进程中是否有任何优势?
windbg - 无法读取 windbg 中的故障转储
我的程序中出现了一个 stackoverflow 异常,它可能源自第三方库 microsoft.sharepoint.client.runtime.dll。
adplus
用于创建故障转储,我面临的问题是当我在windbg中打开它时我正在努力从中获取任何信息。这是我得到的回应:
关于如何从转储中获取更多信息或如何使用它来查找我的 stackoverflow 错误发生位置的任何想法?
windows - 从任务管理器生成的进程转储类型
从 Windows Vista 开始,现在可以直接从任务管理器生成进程转储。通常,我使用 Adplus 或直接从 Windbg 生成进程转储。如果我使用这些选项之一,我必须在我的命令中提供一些开关,以描述生成的转储类型。鉴于当我从任务管理器生成进程转储时所有这些细节都被隐藏了,有人知道它是什么类型的转储以及其中包含什么吗?我记得在某处读过从任务管理器生成的进程转储不包含句柄表的详细信息。对此也有任何想法吗?