问题标签 [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.
vb.net - 非托管的第一次机会异常会导致崩溃/重启吗?
后续问题: “在调查崩溃时,我应该只调查第二次机会异常吗?在哪些情况下我还需要调查第一次机会异常转储?”
我的问题有点宽泛,但我很好奇真正的答案是什么。我读过很多文章说第一次机会异常不太可能导致应用程序崩溃。这是导致它的第二次机会异常。一个简单的谷歌搜索并不能直接回答我的问题。
编辑:这里是示例文章,但还有更多:
“对于没有异常处理的代码,调试器将收到第二次机会异常通知,并会因未处理的异常而停止。”
程序崩溃,但 Debug Diag 说这是第一次机会异常,对吗?
当然,根据定义,只有第二次机会异常会导致代码崩溃,即代码未处理的异常?
我遇到了一个间歇性问题,我的应用程序重新启动或崩溃(事件查看器中没有错误),但在重新启动之前,Adplus 会生成一些第一次机会 AccessViolation 异常。没有第二次机会例外。
下面是 WinDbg.exe 上 FULLDUMP_FirstChance_av_AccessViolation 的片段:
下面的示例调用堆栈:
该错误与我仍在研究的堆损坏和无效指针有关。我是堆和 malloc 的新手,我刚刚学会了使用 WinDbg 进行调试。我只是想知道当这不是我的优先事项并且不会真正解决我的问题时,我是否在浪费时间学习内存分配。(当然了解堆是一件好事,但解决主要问题是重中之重)
我对我的 adplus 配置文件很有信心,我确信它会在所有第二次机会异常中生成完整的转储。我在示例应用程序上进行了尝试。
该应用程序不会崩溃,它只是在没有事件查看器错误的情况下意外和间歇性地重新启动。它可以在使用特定服务时间歇性地重新创建。
如果转储文件不是问题的真正原因,这是我可能的想法:
- 其他进程(未附加在我的 adplus 上)导致重新启动。
- 第二次机会异常完全转储只是没有生成。
- 其他(有什么想法吗?)
PS:对不起,如果我没有指定一些细节和代码示例等,因为它是机密的。我在不影响公司政策的情况下尽力解释了这个问题。
提前谢谢!
windbg - adplus 无法创建第二次机会转储文件
我在下面运行 adplus 来监控 MyProcess 并在崩溃时创建转储文件。
但是第二次机会转储文件创建失败并出现以下错误。
我认为*
文件名中的(星号)导致了这种情况。这可能是由于*
未知异常本身造成的。以下是日志中的异常详细信息。
“(8b24.75d8):未知异常-代码c0000374(!!!第二次机会!!!)SecondChance_*_UnknownException”
有谁知道是否有办法在这种情况下生成转储文件?谢谢
c++ - 如何使用 WinDBG 检查进程上下文之外的转储,并获得正确的调用堆栈
我的一位客户遇到了崩溃问题,我设法使用adplus -pmn
实用程序获取日志,在监控模式下运行,以便它在崩溃期间监控进程。
检查转储后,它会显示以下内容:
WARNING: Frame IP not in any known module. Following frames may be wrong
转储文件存在访问冲突。但是调用栈只有来自 IE javascript 引擎的功能。
我正在尝试获取正确的调用堆栈,我注意到2011 年的这篇文章解释了 Windows 中的虚拟地址空间,显然我的程序位于另一个地址空间中。
从这次崩溃中获取调用堆栈的任何方法?
高度赞赏。
c# - 从生产环境获取日志
我们有在许多客户端机器上运行的 AC# 应用程序,并且我们有非常多的代码行,如下所示:
我们如何在生产环境的日志文件中记录所有 CLR First Chance 异常。
注意:我们不能在客户端机器上安装任何东西(如果可以,我们使用 Adplus 和 Windows 调试器,配置文件非常简单)。
但是我们可以在代码中插入最小的更改并发布新版本。