當我試圖訪問這個特定的指針,應用程序崩潰並示出了0000005訪問衝突錯誤。C++訪問衝突碰撞
我如何能趕上這個錯誤,並用一個嘗試& catch塊保持它在關閉過程我會在C#。 或者我在使用之前如何檢查訪問是否被拒絕到內存區域?
實施例:
MyClass** a = (MyClass**)(0x12345678);
a[0]->b = 1;
我訪問指針表和設置的類的成員中的一個的值。 這確實有效,但問題是「0x12345678」並不總是在該區域中加載類。地址有一個值,但它並不指向正確的內存區域,它不保存的值是0
請記住,這是加載到一個應用程序,我不再是一個DLL有源代碼。 所以我試圖動態地設置應用程序的設置。
*所以我想動態設置應用程序的設置*使用工具 - >選項 - >設置,而不是隨機寫入內存? –
不要那樣做。 –
:他們不是我讓用戶改變的選項。這基本上是對我的一箇舊應用程序的更新。編輯:我不是隨機寫入記憶,我扭轉了我使用的基本班級結構,我得到了改變的設置。問題很簡單,設置類指針有時會保存一個垃圾值,指向一個我無權訪問的區域。 @Seth Carnegie然後你會推薦什麼來獲得正確的結果。 – John