1. 程式人生 > >xx.exe 中的 0x00000000 處未處理的異常: 0xC0000005: Access violation

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

1·MFC除錯時出錯:

CAC_PRINTER_TEST.exe 中的 0x00000000 處未處理的異常: 0xC0000005: Access violation

解決:

檢查是否在載入動態庫後忘記對需要的函式加宣告:

如呼叫動態庫PR2裡的CAC_PR_LineSpace函式:

//定義:

typedef  BOOL (WINAPI *LINESPACEPROC)(double lpi);

LINESPACEPROC LineS;

//呼叫動態庫

hinst=LoadLibrary(_T("PR.dll"));

//對呼叫函式宣告

LineS=(LINESPACEPROC)GetProcAddress(hinst,"CAC_PR_LineSpace");

編譯通過,正常執行

崩潰的時候在彈出的對話方塊,“除錯”->“視窗”->“區域性變數”和“呼叫堆疊”,檢視裡面從上到下列出的對應從裡層到外層的函式呼叫歷史。雙擊某一行可將游標定位到此次呼叫的原始碼或彙編指令處,尋找問題點。

3.檢查呼叫的指標是否為空指標,或“值太小或過大”, 
  造成訪問了“不可訪問記憶體區”造成的異常。