C++软件异常分析与排查的学习历程
1、汇编与反汇编(1)汇编 学习普通x86下汇编语言的设计,尤其是用汇编语言编写面向对象的程序,汇编语言编写win32程序,旨在通过编程的思路了解C++的核心原理。书籍推荐罗云彬《wi...
《从0到1打造自主图形平台》-常见的文件类型(12)
前言 在图形平台开发中,常常需要处理各种不同的文件类型,这些文件类型包含了图形对象、模型数据、配置信息等等。本章将介绍一些常见的工业软件中使用的文件类型,并提供每种文件类型的详细介...
C++栈回溯原理(C++异常排查面试题)
我们用VS调试源代码或使用Windbg调试exe程序遇到异常时,调试器会中断下来,此时去查看函数调用堆栈基本就能找到引发异常的线索了。软件是执行到某一句汇编代码产生了异常,那么调试器如何通...
使用Windbg定位Windows C++程序中的内存泄露
目录1、概述2、使用Windbg监测内存泄露的一般步骤3、详解整个操作过程3.1、gflags.exe和umdh.exe介绍3.2、启动cmd命令行3.3、设置pdb符号库路径3.4、调用gflags设置启用udmh.exe的堆栈跟踪3.5、...
《从0到1打造自主图形平台》-图元(4)
前言在上一节中,我们了解了图形数据库及其中的图形对象和非图形对象。本章将重点介绍图形对象中的一种重要组成部分,即图元。图元是能在屏幕上看得见、摸得着的几何图形,是CAD图形平台中的基...
使用Dependency Walker和Process Explorer排查软件release版本发布问题(常用工具)
就今天使用第三方工具PeViewer.exe遇到的release版本发布问题,简单地讲一下如何使用Dependency Walker和Process Explorer这两个常用的软件。文中内容比较简单,旨在介绍工具如何使用,给新人...
《从0到1打造自主图形平台》-夹点(16)
前言 在图形平台开发中,实现强大的图形编辑功能对于用户体验至关重要。夹点(Grips)编辑是其中的一个关键部分,它不仅简化了用户与图形对象的交互,还提供了多种功能,从简单的移动和缩放到复...
两例典型的C++软件异常排查实例分享
目录 1、动态申请内存时抛出了bad_alloc异常,导致程序闪退 1.1、问题分析 1.2、动态申请内存失败可能原因分析 2、注入到进程中的输入法模块发生异常,导致进程崩溃 2.1、问题分析 2.2、第三方...
C++程序启动时报“R6030 CRT not initialized”错误
在使用VS调试C++程序时,每次启动调试都弹出如下的提示:提示“R6030 CRT not initialized”,C++程序始终无法启动,也就没法进行代码的调试了。这太奇怪了,以前都没遇到过,CRT是C/C++的运行...
《从0到1打造自主图形平台》-交互(15)
前言在图形平台开发中,用户与应用程序的交互至关重要。交互使用户能够与图形数据进行直观的互动,包括浏览、编辑、选择和操作对象。本章将深入讨论如何实现交互,包括键盘事件、鼠标事件以及其...
C++程序运行过程中发生异常闪退,很有可能是这三个原因导致的
目录1、综述2、GDI对象泄露3、Stack Overflow线程栈溢出4、内存泄露 Windows应用软件在交付给客户使用或者试用后,可能会因为操作系统版本及硬件上的差异,出现这样那样的软件异常问...