看板 Programming 關於我們 聯絡資訊
各位好,最近有門課在用judge system,發現我常常會有存取越界的問題 但是在我的編譯軟體(visual studio 2015)上面會偵測不到這個問題, 我也有用系上的工作站(linux環境),直接用g++編譯後執行的話也沒有顯示存取越界 我想 既然judge可以找到這個問題 那在編譯軟體上面應該也可以......吧? 想問問看有沒有什麼方法可以幫助我找到哪邊有存取越界。 舉例來說: unsigned long long a[3]={1,2,3}; b=b/a[-1]; 今天遇到的大概是這樣的情況,我去追蹤,發現a是一個很大的正數, 在過程中是看不到他造成的影響,debug過程也沒有警告。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.91.189 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1492277454.A.12C.html moebear:轉錄至看板 C_and_CPP 04/16 02:52
MOONRAKER: 試一下看有沒有std::array好用 218.161.46.90 04/16 10:28
MOONRAKER: 然後每次取元素不要用a[k] 要用a.at(k) 218.161.46.90 04/16 10:28
MOONRAKER: 不過這還滿好笑的 馬路就那麼寬 要開當 218.161.46.90 04/16 10:29
MOONRAKER: 然是自己注意車道線在哪裡 好像還沒聽 218.161.46.90 04/16 10:30
MOONRAKER: 過有人抱怨開出車道的時候馬路不會把他 218.161.46.90 04/16 10:31
MOONRAKER: 彈回去的 噗 218.161.46.90 04/16 10:31
CoNsTaR: clang + scan-build ? 114.32.240.238 04/16 11:59
chchwy: 這東西不會警告的 只會無預期當掉給你看141.168.134.224 04/16 16:11