查找内存最后被释放的位置?

2023-12-06

非常一般:当发生访问冲突时,是否有一种简单的方法可以判断哪一行代码最后释放了内存块?

不太一般:我对探查器的理解是它们会覆盖分配和释放过程。如果这是真的,他们是否会碰巧存储最后释放一段内存的代码行,以便当它稍后因访问冲突而崩溃时,您知道最后释放它的是什么?

规格:Windows、ANSI C、使用 Visual Studio


Yes!

安装Windows 调试工具并使用应用验证器.

  1. 文件 -> 添加应用程序,选择您的 .exe
  2. 在“基础”下,选择“内存和堆”。
  3. 在 ntsd 下运行程序的调试版本 (ntsd yourprogram.exe)。
  4. 重现该错误。

现在,当您发生崩溃时,您将在调试器中从 AppVerifier 获得更多信息。使用!avrf(可能需要很长时间才能运行(分钟)),它会尝试为您提供尽可能多的有用信息。

您都可以在内存地址上使用 dps 命令来获取所有存储的堆栈信息(分配、释放等)。

您还可以对内存地址使用 !heap 命令:

0:004> !heap -p -a 0x0C46CFE0

这也会转储信息。

进一步阅读:

  • 高级 Windows 调试,Hewardt 和 Pravat
  • 使用 PageHeap 进行调试
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找内存最后被释放的位置? 的相关文章

  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 在 Mac 上使用 Eclipse 进行 C++ 调试器

    当我最终设置我的 mac 来使用 eclipse 后 我无法调试 我尝试通过谷歌寻求帮助 但没有一个答案对我有用 所以 我需要有人帮助我在 eclipse 上安装和使用 c c 调试器 我安装了 Xcode 5 0 感谢您的帮助 Roy 您
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • 将未知数量的字段输入到 mysql - 最佳结构?

    我需要存储从多个表单发送的数据 有趣的是 因为这些表单将由我计划向用户提供访问权限的表单生成器创建 我不知道表单中有多少个字段 或者用户将提交多少个字段 我考虑过类似于以下的表结构 表单本身保存为php以进行包含 FormId FormTy
  • 在asp.net core 1.0中创建RSS feed

    我正在 Asp net Core 1 0 MVC 6 工作 我正在尝试编写一个组件来从我的网站提供 RSS 提要 I found 这个帖子这表明 System ServiceModel Syndicate 尚未移植到 ASP NET COR
  • 正则表达式:如何匹配 RFC1918 私有 IPV4 地址范围中的 IP 地址(在 Python 中)?

    RFC1918 将私有 IPv4 地址定义为属于以下任意范围的地址 10 0 0 0 10 255 255 255 172 16 0 0 172 31 255 255 192 168 0 0 192 168 255 255 出于分析目的 我
  • Java Swing:所有 UIDefaults 属性的列表

    问题 在哪里可以获得 Swing 中存在的所有 UIDefaults 属性的列表 我知道可以编写一小段代码来提取并显示它们 但我想知道通过这种方式获得的列表是否真的完整 当我这样做时 我获得了 Metal L F 的 636 个属性 Win
  • 在notifyDataSetChanged后焦点发生变化之前,ListView不会显示更改

    我有一个AlertDialog with a ListView设置为多选就可以了 它还有一个Button on it The Button打开另一个AlertDialog如果确定 将从数据集中删除所选项目ListView 然后告诉列表视图的
  • 循环 VBScript

    我正在尝试运行 VBScript 检查时间 直到到达 22 00 晚上 10 点 然后运行shutdown bat 我总是收到诸如 loop without do 之类的错误 任何人都可以查看我的代码并看看是否有办法修复它 Do If Ho
  • 创建并使用自定义 HTML 组件?

    我有以下本地 html
  • C# 设置项目获取单选按钮值

    我已经开始使用 Visual Studio 中的安装项目为我的应用程序创建安装程序 我制作了带有两个单选按钮的用户界面 There it is what i m talking about 我想在 C 中访问这些单选按钮的值 但我完全不知道
  • 在不同线程上同时打开多个SQLite数据库实例(QT)

    从不同线程同时使用多个打开的连接是否有问题 据我所知 默认情况下它是线程安全的 但是 这会损害性能而不是提高性能吗 拥有多个连接不是问题 唯一要记住的是 SQLite 不支持多个写入事务的并发 来自 SQlitesite SQLite 支持
  • 在 Swift 中上传带有参数的图像

    我正在尝试在 Swift 中上传带有参数的图像 当我尝试这段代码时 我可以获取参数 但不能获取图像 uploadFileToUrl foti o UIImage var foto UIImage data UIImageJPEGRepres
  • Docker 管道的“内部”在 Docker 容器内运行的 Jenkins 从属设备中不起作用

    我在使用 Jenkins 管道脚本运行时遇到问题 该脚本使用 Docker Pipeline 插件在 Docker 容器中运行部分构建 Jenkins 服务器和从属服务器本身都在 Docker 容器内运行 Setup 在 Docker 容器
  • python 未执行,代码在页面中显示为文字

    在 ubuntu 12 04 中我有这个基本的 http 服务器 python m SimpleHTTPServer 还有这个文件 demo py usr bin python2 7 print Content Type text html
  • jquery 在回调内部使用 this 访问对象上下文

    让我们假设我定义了以下对象 var myObj function this hello Hello myObj prototype sayHello function var persons Jim Joe Doe John each pe
  • PHP 检测 SQL 注入尝试

    我的代码已经安全了 在 SQL 查询中使用参数 但是 我想检测是否有人attempts将某些内容注入到提交表单中 我找到了 Snort 但我需要 PHP 脚本级别的东西 而不是整个网络 这是一个包含学生个人信息的网站 因此 我们将警告 甚至
  • jQuery 淡入淡出 div 在设定的时间间隔内

    我想淡出集合中的第一个 div 然后淡入下一个 div 淡入淡出将在设定的时间触发 集合中的项目数为 1 到 n 这是 html 的示例 div class contentPanel div class content div style
  • 填补 OpenCV 中的漏洞[重复]

    这个问题在这里已经有答案了 我有一个从边缘检测模块中提取的边缘图OpenCV 精明的边缘检测 我想做的是填补边缘图中的漏洞 我在用C and OpenCV图书馆 在OpenCV中有一个cvFloodFill 函数 它将用种子填充孔 以及开始
  • 带有 ASP.Net 的新 Google Recaptcha

    我正在尝试获取新的谷歌验证码在我的 ASP NET 项目中工作 我在使其成为新项目 我不是机器人 时遇到问题 我在那里有旧的 在对developers google com网站进行了大量研究之后 一切看起来都一样 他们甚至向我指出了相同的d
  • Binding 与 x:Bind、使用 StaticResource 作为默认值以及它们在 DataContext 中的差异

    我花了大半天的时间试图制作ItemTemplate of a ListView with a UserControl可通过以下方式配置DependencyProperty上说UserControl 我遇到了关于这两种不同的一些奇怪的不一致之
  • Google+ android API PlusClient writeMoment 不执行任何操作

    为了在 Android 应用程序中实现社交功能 我尝试使用 PlusClient 类的 writeMoment 方法 但没有任何反应 我能够与 PlusClient 成功连接 并使用我的应用程序编写深层链接帖子 这是我打开 Google 连
  • 查找内存最后被释放的位置?

    非常一般 当发生访问冲突时 是否有一种简单的方法可以判断哪一行代码最后释放了内存块 不太一般 我对探查器的理解是它们会覆盖分配和释放过程 如果这是真的 他们是否会碰巧存储最后释放一段内存的代码行 以便当它稍后因访问冲突而崩溃时 您知道最后释