问题标签 [application-verifier]

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.

0 投票
1 回答
779 浏览

c++ - 我在哪里可以运行应用程序验证器命令

我正在使用应用程序验证器进行运行时调试。有时,当它报告问题时,会提到要运行的命令。

验证器停止 0000000000000210:pid 0x2738:关键部分未初始化。

我应该在哪个控制台运行!cs -s <address>?我正在

0 投票
2 回答
2859 浏览

c++ - 如何在 Visual Studio 2013 中使用带/不带 Microsoft Application Verifier 的调试

所以我安装了应用程序验证器来帮助我进行调试,但是我不知道如何正确使用它。

首先,它似乎已经永久地依附于视觉工作室。每当我通过 Visual Studio 在调试模式下运行任何应用程序时,验证器都会自动介入。这是一个问题,因为它会大大减慢执行速度,但似乎没有办法在没有验证器的情况下运行调试器了?真的不想每次想用都重新安装,然后又卸载了。

其次,它似乎确实可以有效地发现泄漏,但我不确定如何处理输出消息:

我在哪里可以运行列出的命令?没有单独的控制台,直接启动验证程序会启动一个 GUI,但你也不能在那里输入任何命令。

我正在使用带有 Visual Studio Ultimate 2013 的 Windows 8.1。该项目是一个 C++ 项目。

// 编辑:

关于第一个问题:我只需要从 GUI 的列表中删除可执行文件,我认为如果程序没有运行,这不会有任何影响。

0 投票
0 回答
211 浏览

c++ - 增加应用程序验证程序在每个堆分配上收集的堆栈帧数

我尝试使用 windbg 命令获取内存分配的堆栈跟踪:

通过将我的应用程序配置为使用应用程序验证程序运行来收集堆栈跟踪。

我得到一个堆栈跟踪,但它太短了。

有没有办法增加应用验证程序收集的堆栈帧数?

谢谢。

0 投票
1 回答
244 浏览

c++ - 使用应用程序验证程序调试时应用程序挂起

我将我的 C++ 应用程序添加到 Application Verifier。我可以通过直接执行exe来运行它。但如果我从 VS 2013 或 WinDbg 运行它,它只会以 0 CPU 使用率挂起。

即使我直接执行exe,在某个时候它也会使用我所有的内存(10GB),我必须重新启动计算机。所以现在我没有办法使用 Application Verifier 来调试它。

我的应用程序启动时只创建了一个行日志。我在 Application Verifier 中看不到任何其他日志。

有人知道我的案子有什么问题吗?

0 投票
0 回答
416 浏览

c++ - 应用程序验证程序默认限制堆分配?

我目前正在测试一个必须在 Application Verifier 6.3 中为 64 位系统打开大文件的应用程序。我的应用程序必须能够分配大约 100 - 200 MB 的内存,这在之前的调试和发布模式下运行良好。

这是我用于分配内存的代码:

我将应用程序添加到应用程序验证程序并启用所有基本测试:

在此处输入图像描述

现在,奇怪的是,new char[fileLength]总是返回NULL一个 97 MB 大的文件!这显然导致了后来的访问违规。所以现在我比以前遇到了更多的问题......

应用程序验证程序是否默认应用一些堆分配限制?我可以以某种方式禁用它们吗?

0 投票
1 回答
1403 浏览

windows - 应用程序验证程序自动进程转储文件创建

我知道如何手动使用 AppVerif 和 windbg 来调试进程问题,但我正在组合一个自动化系统来运行一系列压力测试,而无需用户在场。

我需要一种方法来在 AppVerif 发现问题时生成进程转储,然后继续(假设它是一个非致命错误)。

有没有办法将 AppVerif 正确配置为只生成进程的转储而不是闯入,或者我是否必须附加 windbg 并以某种方式自动化它以在遇到中断时创建转储,然后继续。

0 投票
0 回答
238 浏览

c++ - WinDbg 命令在 VS 即时窗口中不起作用

我已经安装了 AppVerifier,并且它的扩展错误报告出现在 Output-Debug 窗口中:

但是当我尝试在即时窗口中使用建议的 WinDbg 命令时,我最终会遇到错误。

除了安装 AppVerifier 之外,我是否需要进行额外的安装/配置才能使用此功能?

0 投票
1 回答
674 浏览

graphics - D3D11CreateDevice 导致读取访问冲突

代码与问题

我正在尝试 Microsoft 的应用程序验证程序并在下面的简单代码中遇到读取访问冲突。这是我的错吗?如果不是,我应该向谁报告?

应用程序验证器输出

WinDBG 调用栈

我的电脑信息

  • Windows 8.1 专业版 64 位(6.3,内部版本 9600)
  • AMD Radeon (TM) R9 200 系列
  • AMD Catalyst 驱动程序 (15.7.1) 最新(上次检查时间为 2015 年 10 月 15 日晚上 10:16:39)
0 投票
1 回答
59 浏览

direct3d - ID3DXConstantTable SetFloat/SetVector 中的崩溃

我们有一个使用 Direct3d/C++ 开发的渲染引擎的应用程序。最近我们遇到了一个涉及 ID3DXConstantTable SetFloat/SetVector 的崩溃(访问冲突),当我们在带有 PDB 的发布二进制文件中附加一个调试器时,它显示在 D3dx9_42.dll 内部。当我们减少使用的 D3dPOOL Rendertarget 纹理的数量时,这种崩溃消失的一种方式是,但从估计 GPU 内存负载它没有接近可用总量的一半,因为我们使用的是 3GB NVIDIA 卡。

怀疑这是由于内存覆盖导致的一些堆损坏,我们进行了代码检查,然后我们使用应用程序验证器和调试器来根除内存覆盖,这可能在运行的后期阶段崩溃。我们遇到了一些问题我们解决了。但是这种崩溃仍然存在于第一帧渲染 ID3DXConstantTable SetFloat/SetVector 。更多信息:这是使用 LARGEADDRESSAWARE 标志运行的 32 位应用程序。任何指针?

0 投票
0 回答
196 浏览

crash-dumps - 应用程序挂起并启用全页堆

我的应用程序在关闭对话框时崩溃。我试图调试代码,但无法从中得出任何好的结论。我使用 Debug Diag 工具进行了故障转储和分析,并得到报告说它可能是 MSVBVM60.dll 中的堆损坏。下一步,我尝试启用整页堆,但我的应用程序完全挂起。我知道启用整页堆会降低性能并使应用程序无法响应。这也恰好发生在我的应用程序中。我尝试使用普通页面堆,但仍然没有得到任何好的信息。我尝试在应用程序验证器和 GFlags 中进行设置。我尝试了堆尾和其他选项,但无法真正得出根本原因。我尝试了特定的图像,而不是整台机器。是否可以通过增加机器的 RAM 来获取整页堆?或者我可以做些什么来获得整页堆?请建议。