看板 EE_DSnP 關於我們 聯絡資訊
哈哈,果然是一個 bug,跟大家分享一下。 原因有兩個: 1. 其實我從 HW#6 把 deleteCircuit() copy 過來之後 忘記把 sim 以及 fraig 的 reset 加進來, 所以在某修狀況下會有些東西沒有被清乾淨。 (不過這個不是造成 crash 的原因) 2. 真正造成 crash 的原因是我忘記 reset 我的 _const0 了。 我的 _const0 是個 static data member, 在電路 reset 或是 delete 之後 _const0 仍然會存在,但是 _const0 裏頭存的一些關於 sim 或是 fraig 的資料 其實已經無效,所以會造成 crash! (reportGate() 以為還有 FEC data) 修正過的 fraig-{32,64} 已放到 ceiba 的公布欄上, 作業區的 fraig.tgz 也一併更新。 ※ 引述《pochih ()》之銘言: : 我對老師的ref program輸入以下指令 : fraig> cirr tests.fraig/sim07.aag -r : fraig> cirsim -r : MAX_FAILS = 14 : 512 patterns simulated. : fraig> cirr a.aag -r : Note: original circuit is replaced... : fraig> cirg 0 : ================================================== : = CONST(0), line 0 = : 程式記憶體區段錯誤 (core dumped) : 竟然就crash了 : 其中a.aag就是spec裡command cirsweep的那個例子 : aag 10 3 0 1 6 : 2 : 4 : 6 : 8 : 8 4 6 : 10 3 4 : 14 12 10 : 16 10 8 : 18 14 16 : 20 14 16 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.48.15
pochih:原來如此 12/31 16:46
yan12125:推! 01/02 00:07