segmentation-fault

    1熱度

    2回答

    我在使用C++編寫的應用程序中使用GCC 4.3.2編譯了段錯誤問題。它在Debian 5 x64下運行。 方法墜毀在下面的代碼行: #0 0x00000000007c720f in Action::LoadInfoFromDB (this=0x7fae10d38d90) at ../../../src/server/Action.cpp:1233 1233 m_tmap[tId]

    5熱度

    2回答

    我編寫了一個代碼來創建一些線程,並且每當其中一個線程完成一個新線程創建以替換它時。由於我無法使用pthread創建大量線程(> 450),因此我使用了克隆系統調用。 (請注意,我知道有這麼多的線程的意思,但這個程序只是爲了強調系統)。 由於clone()需要將子線程的堆棧空間指定爲參數,因此我會爲每個線程分配所需的堆棧空間塊,並在線程完成時將其釋放。當一個線程完成時,我發送一個信號給父母通知它相同

    3熱度

    3回答

    這是我的c代碼,它從文件中讀取URL列表,並嘗試將URL的各個部分分開。這只是粗略的解析,我對特殊情況不感興趣。我猜這裏有一些錯誤與sscanf()語句,當我運行這個,我得到「分段故障」..此外,完整的網址被分配到「原」字符串..任何人都可以請幫我找出問題..請,它的迫切.. #include<stdio.h> #include<string.h> #include<stdlib.h> #

    0熱度

    5回答

    我現在正在學習C,並且直接從我正在使用的書中複製了這個小片段。它運行時出現段錯誤,我無法弄清楚爲什麼,我通過gdb運行它,並在第9行scanf(「%s」,aName)處停止;但是打印這些變量的值不會帶來可疑的外觀。這件事有什麼問題? #include <stdio.h> int nameLength(char[]); main() { char aName[20] = {'\0'

    1熱度

    2回答

    我正在編寫一個程序,它將使用getline將字符串讀取到字符串中,將字符串轉換爲包含字符串的前m個非空白字符的c字符串,然後將c字符串連接成單個字符數組。 樣本文件可能是這個樣子: 5 //number of rows and columns in a grid 2 //number of grids XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXX

    -1熱度

    1回答

    我目前正在嘗試計算某個目錄中的文件消耗的字節數。它遞歸地遍歷當前目錄中的所有文件夾並計算文件的字節數。 當我遞歸調用函數rec_bytes,我打印出「進去」...但是當它返回值...它segfaults。 我在下面的代碼中標記了有問題的行。 我認爲這個問題與打開/關閉目錄有關。 #include <stdio.h> #include <sys/stat.h> #include <sys/typ

    0熱度

    1回答

    我使用MinGW-5.1.6和MSYS-1.0.11建立一個靜態libgmp,然後建立一些自定義庫和使用libgmp的程序。 gmp和自定義的東西都是使用C(XX)FLAGS =「 - g -ggdb」./configure構建的。 Gmp的檢查運行良好。所有東西都是靜態鏈接的(動態鏈接libgmp的效果相同)。 現在,當試圖運行帶有一些輸入文件的自定義程序時,它會得到這個段錯誤(沒有輸入它只是打

    2熱度

    2回答

    我發現以下腳本在AIX上導致KornShell(ksh)中出現分段故障和內核。任何人都可以解釋爲什麼我會得到以下結果? 賽格故障 doOutput(){ Echo "Something" } doOutput() >&1 OR doOutput(){ Echo "Something" } echo `doOutput()` 無輸出 doOutput(){

    1熱度

    3回答

    我一直在創建一個類,它需要一堆圖像並將它們覆蓋到一個BMP上。出於某種原因,在運行代碼時,我得到了段錯誤,並且我已經將其跟蹤到了這種方法。從本質上說,if語句會檢查圖像數組中是否存在有效的索引以放置此新圖像。如果該圖像有效,則會刪除先前存在的任何圖像,並將該索引設置爲此新圖像。該類被稱爲場景,並由一組圖像指針組成。所以我正在做的是取代那些指針指向的圖像。不知何故,它不工作。如果指針爲NULL,那麼

    0熱度

    2回答

    我的代碼如下: void Scene::copy(Scene const & source) { maxnum=source.maxnum; imagelist = new Image*[maxnum]; for(int i=0; i<maxnum; i++) { if(source.imagelist[i] != NULL) { imagelist[i