Windows has triggered a breakpoint in...... 的问题

调试代码时遇到类似如下的问题:

Windows has triggered a breakpoint in .exe.
This may be due to a corruption of the heap, which indicates a bug in .exe or any of the DLLs it has loaded.

This may also be due to the user pressing F12 while .exe has focus.
The output window may have more diagnostic information


看到这样的错误可以断定是堆内存使用错了,可能是申请的堆内存没有释放、内存使用越界或使用了一段已经被销毁的内存。

如下代码:

......

BufferL     buffer;

size_t      buffer_len;

size_t      src_buffer_len = motivation.data_len;

buffer_len = src_buffer_len;

buffer.resize( src_buffer_len  );

SRes ret = LzmaCompress( &buffer[sizeof(xxx)], &buffer_len, &src_buffers[0], src_buffer_len, outProps, &outPropsSize  );

首先给buffer 的size是src_buffer_len 的长度,即为src_buffers的长度。src_buffers压缩后的长度为buffer_len,如果buffer_len > src_buffer_len的话,那么压缩的时候将出现赋值越界的问题,因为接收数据的buffer长度为src_buffer_len。这样就有可能出现 “Windows has triggered a breakpoint ”的问题,可能在赋值越界时不会立即出现此问题,但是这个问题是迟早会出现的。

所以说,良好的编码习惯很重要。

网上有人推荐pageheap.exe 来检查内存越界的问题。具体请查阅:

http://c.360webcache.com/c?m=fc2dda77b80c762a85d8be5548bf19f1&q=windows+has+triggered+a+breakpoint&u=http%3A%2F%2Fwww.xuebuyuan.com%2F759315.html,

以上,2017.03.02

时间: 2024-10-23 05:53:44

Windows has triggered a breakpoint in...... 的问题的相关文章

Windows API参考大全新编

书名:新编Windows API参考大全 作者:本书编写组 页数:981页 开数:16开 字数:2392千字 出版日期:2000年4月第二次印刷 出版社:电子工业出版社 书号:ISBN 7-5053-5777-8 定价:98.00元 内容简介 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的.本书首先对Win32 API函数做完整的概述:然后收录五大类函数:窗口管理.图形设备接口.系统服务.国际特性以及网络服务:在附录部分,讲解如何

eclipse keys

Navigate Open Declaration F3 Editing Script Source Source Mark Occurrences Alt+Shift+O Editing PHP source Navigate Open Type Ctrl+Shift+T DLTK View Window Previous View Ctrl+Shift+F7 In Windows Focused UI Make Less Interesting Ctrl+Alt+Shift+Down In

PHP的学习--在sublime中使用XDebug(Ubuntu)

说起来惭愧,自从开始使用Sublime Text之后,再也没有debug过PHP的代码,最近把debug的环境搭建了一下,在这里记录一下. 安装XDebug sudo apt-get install php5-xdebug 编辑xdebug.ini文件,添加如下配置 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote

CVE-2014-6332调试

调试环境: Win7SP1x32+IE8 一. POC 先给出完整POC,如果exploit成功,则会产出notepad <!DOCTYPE html> <html> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"> <body> CVE-2014-6332 exploit by yuange. <SCRIPT LANGUAGE="V

Notes of assignments in week 2

Q1 找第k小的数 设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数. 提示:函数int partition(int a[],int left,int right)的功能是根据a[left]~a[right]中的某个元素x(如a[left])对a[left]~a[right]进行划分,划分后的x所在位置的左段全小于等于x,右段全大于等于x,同时利用x所在的位置还可以计算出x是这批数据按升非降序排列的第几个数.因此可以编制int find(int a[]

Windows调试神器:WinDBG

最开始一直在撸JAVA,最近处于巩固基础和拓宽知识面的目的翻出了久违的C艹研究.习惯性的用IDE,要么CODEBLOCKS,要么VS. 过了一段时间,最明显的感觉就是,IDE用多了很多细节不清楚,而这些细节往往是最关键的知识,关系到你能不能从根本上明白程序的本质或者完成一些顽固BUG的修复,而IDE往往会把这些东西给你屏蔽掉(出于方便和自动化的考虑),如果你不知道这些被屏蔽掉的细节,那么你往往在构建程序的时候经常看到IDE报一大堆ERROR的时候不知所措 反正,我是终于明白了IDE不适合新手的原

Windows Kernel Security Training Courses

http://www.codemachine.com/courses.html#kerdbg Windows Kernel Internals for Security Researchers This course takes a deep dive into the internals of the Windows kernel from a security perspective. Attendees learn about behind the scenes working of va

Debugging Chromium on Windows

转自:https://www.chromium.org/developers/how-tos/debugging-on-windows For Developers‎ > ‎How-Tos‎ > ‎ Debugging Chromium on Windows 目录 1 Before you start 1.1 Requirements 1.2 Optional 2 Multi-process issues 2.1 Single-process mode 2.2 Using Image File

Creating a Unity Game for Windows 8

原地址:http://www.davebost.com/2013/08/30/creating-a-unity-game-for-windows-8 The recent release of Unity 4.2 brings with it full-support for deploying Unity games to both Windows 8 and Windows Phone. Unity 4.2 is a powerful game development tool that c