stack-corruption

    0熱度

    1回答

    我在寫一個C#應用程序,它將大小爲30的空字符串數組傳遞給C++ DLL。該字符串數組需要在DLL中填充並返回給C#應用程序。 我的代碼我觀察DLL函數調用結束時的內存損壞。 我的C++ DLL代碼如下。請幫助我。提前致謝。 SAMPLEDLL_API BOOL InitExecution (wchar_t **paszStrings, int count) { for (int i

    3熱度

    1回答

    調試堆棧值損壞的好方法是什麼?在我的一個程序中,有時這個指針的地址在一個方法返回後會改變,這個方法在文件描述符上進行關閉。我調試了幾個小時的程序,但我找不到問題。 什麼是一個很好的方法來找出什麼改變了這個指針的地址?當我在這個指針上手動添加手錶時,錯誤不會發生。當我儘可能剝離我的代碼時,錯誤仍然會發生。我試過Valgrind,但沒有發現任何早期的堆棧損壞。 我設法檢測到錯誤發生時,我以64位模式編

    0熱度

    3回答

    我想通過註冊表獲取某些程序的版本。我的代碼在發佈配置時設置正常。當我嘗試在調試模式下運行它時,我的代碼在離開此函數時出現消息「運行時檢查失敗#2 - 變量'版本'周圍的堆棧已損壞」時崩潰。 我只會粘貼我的函數的相關代碼。這就是我的代碼中的所有「版本」外觀。當我調試它時,版本會獲得適當的價值。代碼不會在發佈配置中崩潰。對於這兩種配置,我都設置了「使用多字節字符集」。 TCHAR version[20

    17熱度

    1回答

    下面的問題是從一個巨大的項目中提煉出來的,也是我能夠想到的問題的最小例子。 我知道,從std::string得到的結果很糟糕,它已經在我們的代碼庫中發生了變化,但我試圖理解這裏隱藏的內容。 的代碼在釋放模式崩潰上的Visual C++ 2017 Microsoft Visual Studio Community 2017 Version 15.2 (26430.14) Release Visu

    0熱度

    1回答

    它崩潰與調試錯誤,並說棧周圍的變量「代碼」已損壞。這是我正在做的漢明碼實驗的代碼。輸入文件在同一行上只是一堆1和0。它爲什麼會崩潰? void processFile(FILE* read, char* InMessage) { int i = 0, count = 0; for (i = 0; !feof(read); i++) { InMessage[i]

    4熱度

    1回答

    我需要在C++中實現矩陣轉置過程。 問題是簽名,該函數具有被稱爲像這樣: transpose(in_mat[0][0], n, m, out_mat[0][0]) 其中n和m是尺寸。 所有的值都是雙精度,包括矩陣和維度。 由於代碼是自動生成的,我無法解決這個問題。 我的解決辦法是這樣的: void transpose(double& in_mat, const double _n, const

    1熱度

    1回答

    「回溯已停止:與此幀相同的前一幀(損壞的堆棧?我複製了核心轉儲文件,並嘗試在x86_64主機上使用arm-gdb獲取回溯。這是O/P: $ arm-arago-linux-gnueabi-gdb test_slave6_slave core GNU gdb (GDB) 7.4 Copyright (C) 2012 Free Software Foundation, Inc. License

    0熱度

    1回答

    我從Boost測試框架中調用這個代碼來檢查堆棧損壞。 我收到此錯誤消息: 運行時檢查失敗#2 - 圍繞變量'temp'的堆棧已損壞。如果我已經成功打開連接或不連接到mysql數據庫都沒關係。如果我註釋掉mysql_close調用,我不會收到這樣的消息。 我安裝了MySQL服務器5.6,我鏈接到這些目錄: C:\Program Files\MySQL\MySQL Connector.C 6.1\li

    0熱度

    2回答

    我試圖讓我的程序打印第n個斐波納契數。 I get a stack-corruption-assertion though: int f[] = { 1, 1 }; int i = 0; if (n <= 2) { cout << "F(" << n << ") = 1" << endl; return 0; } if (n>2) { i = 2;

    0熱度

    1回答

    SegFault我與這段代碼的問題是,當我試圖返回第一次迭代addTrash函數內的結構節點*頭。我懷疑這可能是堆棧腐敗,但我不知道確切的,我不知道我究竟如何找出錯誤是在我給你的代碼內。 這是一個雙鏈接的鏈接列表,它具有作爲唯一數據的價值。 struct node * modifyMainList(struct node *head, int link2Delete){ struct