1. 程式人生 > >關於VC中的0x????處未處理的異常:0xC0000005

關於VC中的0x????處未處理的異常:0xC0000005

使用VC編碼的時候經常會出現“Test.exe 中的 0x00414030 處未處理的異常: 0xC0000005: 寫入位置 0xfeeefeee 時發生訪問衝突 。”出現0xC0000005的原因一般都是沒有分配記憶體 或者 記憶體無效 所致,

例如:

#include "stdafx.h"
#include <string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

string * s = NULL;
s = new string();
delete s;

if (s != NULL)
{
   *s = "TEST"; //這步操作將引起異常。


}

return 0;
}

雖然s已經被delete了,但是s的值並不為NULL,if語句的判斷將失效,這是新手常見的一個錯誤!

為了防止這個錯誤可以自己定義一個巨集來處理delete。

#define _DELETE(obj) if (obj != NULL) {delete obj , obj = NULL;}

使用這個巨集可以防止類似錯誤出現。

相關推薦

關於VC0x????處理異常:0xC0000005

使用VC編碼的時候經常會出現“Test.exe 中的 0x00414030 處未處理的異常: 0xC0000005: 寫入位置 0xfeeefeee 時發生訪問衝突 。”出現0xC0000005的原因一般都是沒有分配記憶體 或者 記憶體無效 所致, 例如: #in

“XXX.exe 的 0xXXXXXXXX處理異常: 0xC0000005: 讀取位置 0xXXXXXXXX 時發生訪問衝突”的一種解決方案

CxxxDlg *pDlg = (CxxxDlg*)AfxGetMainWnd(); 定時器回撥函式中pDlg呼叫類成員變數和成員函式時出現以上錯誤。經觀察pDlg為空指標,確實意想不到。 解決方法: 設定全域性變數CxxxDlg* g_pDlg = NULL;並且在O

xx.exe 的 0x00000000 處理異常: 0xC0000005: Access violation

1·MFC除錯時出錯: CAC_PRINTER_TEST.exe 中的 0x00000000 處未處理的異常: 0xC0000005: Access violation 解決: 檢查是否在載入動態庫後忘記對需要的函式加宣告: 如呼叫動態庫PR2裡的CAC_PR_LineSp

0x657ac2b2 (msvcr80d.dll) 處理異常: 0xC0000005: 讀取位置 0xccccccc8 時發生訪問衝突

  開發環境 VS2005 + MFC基於對話方塊的工程 BOOL CVideoMFCApp::InitInstance() {     // 如果一個執行在 Windows XP 上的應用程式清單指定要     // 使用 ComCtl32.dll 版本 6 或更高版本來

glGenVertexArrays:0x00000000處理異常 0xC0000005:Access Violation.記憶體錯誤

1.確認呼叫的變數已初始化: 如:glGenVertexArrays(nums,VAO),其中VAO必須進行初始化。 2.確認是在非遠端桌面連線狀態下進行的除錯。 如:我用mstsc操作遠端電腦,進行

Android_程序處理異常的捕獲與處理

catch name app interrupt time bool ava 未處理 本地 1.簡單介紹 對於程序拋出的未被捕獲的異常,可能會導致程序異常退出,界面不友好且應記錄關鍵錯誤信息上傳至server。這裏主要使用UncaughtExceptionHandle

WPF捕獲全局處理異常

system 用戶界面 startup blog log 未處理 eve -s ebo   在WPF開發過程中我們一般都用try/catch塊來捕獲異常,但不是每個異常我們都能捕獲,程序總會出現一些意想不到情況,拋出一些未捕獲的異常,這時就要用到全局異常捕獲,即在程序的最外

Xamarin.Android-捕獲處理異常(全域性異常

一、前言 android中如果出現了未處理的異常,程式會閃退,這是非常不好的使用者體驗,很多使用者會因此解除安裝APP,因此未處理的異常是應該盡力避免的。 有些很難避免的異常(如:IO、網路等),應在程式碼中進行捕捉並做相應的處理,以阻止程式崩潰閃退。 但是“沒有任何程式是完美的”,況且各式各樣的and

NET環境下的處理異常(unhandled exception)的解決方案

NET環境下的未處理異常(unhandled exception )的解決方案      .Net 框架提供了非常強大的異常處理機制,同時對一些非託管程式碼很難控制的系統問題比如指標越界,記憶體洩漏等提供了很好的解決方案。相比非託管程式碼構建的系 統,.Net構建的系統

Xamarin.Android捕獲全域性處理異常

大家可能嘗試過使用原生比較普遍使用的方法:             Java.Lang.Thread.DefaultUncaughtExceptionHandler = new UncaughtExceptionHanlder(UncaughtExceptionHandle

處理異常和JIT除錯

系統啟動程序的主要過程描述如下: 通常系統會在程序啟動後把客戶程式碼的入口函式(一般是執行時庫的入口函式,執行時庫再去呼叫main函式)的地址傳給BaseProcessStart,從BaseProcessStart函式中進入到客戶程式碼,而BaseProcessStart

處理異常處理器 UncaughtExceptionHandler 實現 崩潰日誌儲存 與 重啟應用

前言 當我們編寫程式的時候 , 遇到會丟擲異常的方法的時候 , 我們一般會採取 try … catch 的方式: try { bitmap = BitmapFactory.decodeStream(getContentResolver()

《Windows核心程式設計》讀書筆記二十五章 處理異常,向量化異常處理與C++異常

第二十五章  未處理異常,向量化異常處理與C++異常 本章內容 25.1 UnhandledExceptionFilter函式詳解 25.2 即時除錯 25.3 電子表格示例程式 25.4 向量化異常和繼續處理程式 25.5 C++異常與結構化異常的比較 25.6 異常與

連結庫載入,“”(*.exe )有未經處理異常: 0xC0000005: 寫入位置 0x40B9CA00 時發生訪問衝突”的問題所在

載入動態庫執行程式時,出現這個錯誤,在網上找了半天沒有找到解決方案,實在沒辦法寫了一個最簡單的示例程式,發現仍然沒法通過,苦思冥想,最後無意中發現我動態連結庫中的函式的定義為 extern "C" __declspec(dllexport)  void _stdcall  

錯誤提示:處理的“System.NullReferenceException”類型的異常出現在 system.data.dll 。 其他信息: 將對象引用設置到對象的實例。

錯誤 reference tar RM 問題 一個 ext ID dll 這種情況的發生一般有3種情況:1.代碼中有一個對象沒有初始化。例如Form A=new Form();2.連接數據庫的問題。連接和打開連接的語句。3.T-SQL語句不正確,引起在訪問數據庫時有問題。錯

acad.exe 的 0x25c70fc2 (???.arx) 最可能的異常: 0xC0000005: 讀取位置 0x0000009c 時發生訪問衝突

1.   修改了一個以前的arx程式,編譯通過後,載入時出錯,acad說它不是合法arx檔案。但是因為還沒走到DllMain(),所以vc也除錯不了,不知道那裡出錯,毫無頭緒。睡了一覺,覺得應該是全域性變數或者類的靜態成員初始化時出錯。 到網上搜了一下,有篇文章還行:http://

Java的執行緒通訊、執行緒組、處理的執行緒異常

執行緒通訊 傳統的執行緒通訊 假設現在系統中有兩個執行緒,這兩個執行緒分別代表存款者和取錢者,而系統有一種特殊的要求,系統要求存款者和取錢者不斷地重複存款、取錢的動作,而且要求每當存款者將錢存入指定賬戶後,取錢者就立即取錢。不允許存款者和取錢者操作連續超過兩次。 為了實現這種功能

C#之解決 處理的“System.InvalidOperationException”型別的異常出現在 System.dll...

今天在寫一個C#埠掃描器,執行程式時,出現了以下的錯誤提示資訊:未處理的“System.InvalidOperationException”型別的異常出現在 System.dll 中。 其他資訊: 斷開套接字連線後,只能通過非同步方式再次重新連線, 而且只能連線到不同的 E

在用c++讀取xml檔案時,執行時出現以下錯誤:出現處理的“System.Xml.XmlException”型別的異常出現在 system.xml.dll

各位高手,我剛剛開始接觸c++,使用的是Microsoft Visual Studio 2003版本,在使用c++讀取xml檔案時,編譯已經通過,但是執行.exe程式時,老是出現這個錯誤:“未處理的“System.Xml.XmlException”型別的異常出現在 syste

qt+osg+vs2008(msvcr90.dll) 最可能的異常: 0xC0000005的問題解決

 用此法得到了解決。 3. 另一個執行時異常, Debug時出現:“Unhandled exception at 0×6c1f4774 (msvcr90.dll) in TestMagick.exe: 0xC0000005: Access violation reading