[問題] 使用 map 導致 Segmentation fault

看板C_and_CPP作者 (水夜mizuyoru)時間4年前 (2019/11/03 18:35), 4年前編輯推噓4(4012)
留言16則, 7人參與, 4年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux (Windows Subsystem for Linux, Ubuntu 18.04) 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) 編譯器:GCC 7.4.0 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 資料 insert 完後,需要用 find 找資料,但出現錯誤,且錯誤並非每次都出現 錯誤位置: 第31行,find function 餵入的資料(Input): ./main.cpp order.json info.txt order.json: https://pastebin.com/FBTn9rRq info.txt: https://pastebin.com/wAguCmjL 預期的正確結果(Expected Output): 2 0 0 1 錯誤結果(Wrong Output): 執行階段: Segmentation fault (core dumped) gdb debug: 沒有錯誤 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) http://codepad.org/soCIfu0e 補充說明(Supplement): 這個錯誤很奇怪,有時候出現,有時候卻沒有,gdb也找不到錯誤 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.51.210 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1572777310.A.E39.html

11/03 18:54, 4年前 , 1F
分析 core dump咧?
11/03 18:54, 1F
我網路上看了很久,我還是不知道 core dump的位置在哪,我只動了 ulimit -c unlimited,還需要動什麼嗎 ※ 編輯: mizuyoru3423 (111.251.51.210 臺灣), 11/03/2019 19:02:53

11/03 20:40, 4年前 , 2F
已解決,說起來有點慚愧,只是我一開始的 order 指
11/03 20:40, 2F

11/03 20:40, 4年前 , 3F
標忘了new 而已
11/03 20:40, 3F

11/03 21:29, 4年前 , 4F
我還以為看到自己
11/03 21:29, 4F
我當時也想用這個帳號註冊,原來就是你

11/04 01:07, 4年前 , 5F
恭喜兩位可以結婚了
11/04 01:07, 5F
※ 編輯: mizuyoru3423 (111.251.51.210 臺灣), 11/04/2019 09:19:38

11/04 10:23, 4年前 , 6F
這麼中二的名字沒想到除了我以外還有其他人會用
11/04 10:23, 6F

11/04 18:30, 4年前 , 7F
不求甚解的路過 以前遇過類似的問題(不是map)
11/04 18:30, 7F

11/04 18:31, 4年前 , 8F
在main下面加一個夠大的矩陣 int big_array[4096];
11/04 18:31, 8F

11/04 18:32, 4年前 , 9F
之類的就會動了 我不知道為啥 推測是用pointer new
11/04 18:32, 9F

11/04 18:33, 4年前 , 10F
class的時候 沒有要到該有的空間 等到call item的
11/04 18:33, 10F

11/04 18:34, 4年前 , 11F
時候 pointer指到程式外面去了
11/04 18:34, 11F

11/04 18:36, 4年前 , 12F
BTW我把Code載下來用GDB執行還真的不會掛掉= =
11/04 18:36, 12F

11/04 18:37, 4年前 , 13F
不用GDB的時候大概3次死1次
11/04 18:37, 13F
www,其實實際原因也不是map,只是我的class就只有一個data menber而已

11/04 21:29, 4年前 , 14F
用 valgrind 看看吧,一些基本的錯誤很容易就可以抓出
11/04 21:29, 14F

11/04 21:29, 4年前 , 15F
來的
11/04 21:29, 15F
看起來蠻好玩的,改天試試 ※ 編輯: mizuyoru3423 (111.251.51.210 臺灣), 11/04/2019 22:55:03 ※ 編輯: mizuyoru3423 (111.251.51.210 臺灣), 11/04/2019 22:56:30 ※ 編輯: mizuyoru3423 (111.251.51.210 臺灣), 11/04/2019 22:58:56

11/05 01:21, 4年前 , 16F
valgrind 之外還有 gcc 的 -fsanitize=address
11/05 01:21, 16F
文章代碼(AID): #1TlgrUuv (C_and_CPP)