heap-corruption

    0熱度

    1回答

    我的代碼工作正常,直到我嘗試釋放分配的內存。我malloc編輯files指針,後來我用realloc來增加大小。但是當我嘗試釋放內存時,它給了我無效的指針錯誤,不知道爲什麼。 char *files = malloc(1); char *temp = strdup(argv[i]); strcat(temp, "/"); strcat(temp, dp->d_name); DIR *chi

    -3熱度

    2回答

    我已經寫了下面的程序崩潰: #include <stdio.h> #include <string.h> #include <stdlib.h> void main(int argc, char *argv[]){ char *input; input = (char*)malloc(16); printf("input is : %s\n", input);

    -2熱度

    1回答

    如果Windows 2012 R2服務器上運行的每個進程都有自己的堆,那麼是不是有可能讓一個進程損壞了另一個進程的堆?我認爲這是可能的,因爲所有堆都存儲在「全局」地址空間中,但是當一個進程嘗試從其地址空間外的內存中寫入或從內存中讀取時發生AV,這樣可以防止堆進程損壞擁有地址空間?

    1熱度

    2回答

    的陣列所以,我有一個類 class Room { public: Room(); ~Room(); tile::Tile* tile[11][7]; // Owned } 的有一個構造和析構函數,tile::Tile是一個抽象基類,所以是一個指針。指針數組tile,需要像這樣在構造函數中填充。 Room::Room() { for (s

    2熱度

    1回答

    我有一個類的字符串和迭代器作爲成員。 有一個GetNext()方法,給我下一個元素並增加迭代器。使用來自外部的類我檢查一個空字符串以指示雙端隊列的結束。 不幸的是,當構造函數被調用並且最後一個元素使用GetNext時,我得到了一個Heap腐敗。 我想這是因爲在雙端隊列中的最後一個字符串(空字符串)之後,迭代器仍然遞增並在內存中指向? 這樣,析構函數然後試圖釋放這個內存,然後崩潰? #include

    1熱度

    1回答

    我在寫一個C#程序,調用sam-ba.dll中的AT91Boot_Scan函數。在該DLL的documentation中,此函數的簽名是void AT91Boot_Scan(char *pDevList)。此功能的目的是掃描並返回連接設備的列表。 問題:我現在的問題是,我每次調用此函數從C#的時間,在DLL的代碼引發a heap has been corrupted例外。 除了:從我從閱讀docu

    1熱度

    1回答

    我目前正在使用C++編寫遊戲,並且正在使用SDL 2.0庫。 我試圖從紋理中檢索32x32圖像以存儲爲圖塊,並試圖從紋理的像素重新創建它。當我運行這段代碼並試圖通過for循環編輯Uint32 *時,我可以編輯它,但是一旦我嘗試創建圖像,就會發生堆損壞。 我現在有這樣的代碼運行: Uint32* pixels = (Uint32*)m_pSprite->GetPixels(); int pixel

    -1熱度

    1回答

    動態轉換在其工作的相同功能中失敗。 動態轉換在調用commitTransaction之前工作,在commitTransaction之後失敗。 在commitTransaction中,在執行刪除和新操作的地方調用複製操作符。關於這裏發生了什麼的任何想法?我讀到堆損壞可能會導致dynamic_cast失敗。任何人都可以解釋爲什麼發生這種情況? #include <iostream> #include

    0熱度

    1回答

    我試圖爲使用GFlags的小應用程序啓用頁堆,但由於某些原因,它不起作用。 我寫了一個小的C++應用程序,它是所有破壞堆內存: int* a; a= (int*)malloc(1); *a= 8888800; return 0; 當運行該代碼的應用程序不會崩潰。 但是在啓用頁堆的情況下,我期望它在第三行。 我懷疑我沒有正確激活GFlags,但無法弄清楚問題所在。在圖像文件選項卡中運行GF

    0熱度

    1回答

    因此,我是iOS新手,正在嘗試使用具有定時更新UI的計時器的視圖控制器。我看到的問題是我正在獲取堆損壞,更具體地說是由objc_retain調用引起的EXC_BAD_ACCESS KERN_INVALID_ADDRESS錯誤。 此錯誤是在幾個地方,但都在我的定時器功能和更高的調用堆棧__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION 上發