NTUGIEE_EDA 板


LINE

※ [本文轉錄自 indark 信箱] 作者: [email protected] ("暢快一生 有樂相隨") 標題: [轉錄] GDB 的妙用 時間: Thu Jun 22 11:17:48 2006 作者: xeon (xeon) 看板: xeon 標題: [轉錄] GDB 的妙用 時間: 2006/06/22 Thu 00:06:28 http://blog.vgod.tw/?p=122 vgod’s blog 06.21.06 GDB的妙用 Posted in Tips at 2:12 am by vgod 今天有個同學跑來跟我求救。他說有隻重要的程式在工作站上面跑,但沒有放在 screen裡面,可是Windows的鍵盤滑鼠都卡死了,有沒有辦法能重新開機(也就是 關掉windows上的terminal, putty)而且讓程式能繼續跑下去..。 其實我以前也遇過同樣的問題,只是一直沒去想怎麼解決,後來都習慣用screen, 就自然不會遇到這問題了。可是我最近發現,其實有不少人都不知道UNIX上有 screen這個好東西,於是只要跑些重要的程式,就得擺一個terminal在桌面上,而 且千千萬萬不能關掉,否則跑了數天的結果就這樣白費了。 今天再次碰到這個問題時,仔細想了一下,terminal關掉會讓程式中斷的關鍵在於 ,程式會在terminal關閉時收到SIGHUP這個signal,而不處理這個signal的結果就 是結束程式。在以前還不知道screen這東西前,都得用nohup這個指令來事先攔截 SIGHUP。 那現在碰到的問題就是,有沒有辦法在程式執行到一半的時候,先在它收到SIGHUP 之前把這signal擋下來?或是直接在它執行中修改它的程式碼,讓它忽略SIGHUP… ? 想在runtime時變更程式的行為,讓我馬上想到gdb這個好東西。gdb可以在程式執 行到一半時,attach到它的process上,接著就能做所有gdb能做的事情..。gdb能 做的當然不只是debug啦,gdb可以在runtime改變程式的執行流程和行為,還能攔 截程式本來應該要收到的signal…,咦,這好像就是解答了嘛! 從Debugging with GDB可以查到,只要在gdb裡輸入這樣的指令,底下的程式就不 會收到SIGHUP了。 handle SIGHUP nopass 所以這問題的解法很簡單。 從另一台電腦連上正在跑重要程式的工作站 用ps和grep找出那個程式的pid 用gdb attach它: gdb [program] [pid] 在gdb內輸入: handle SIGHUP nopass 把當掉的windows重新開機,在gdb內輸入continue讓程式繼續執行 你會看到gdb攔截到SIGHUP的訊息,再輸入continue就可以了 -- XEN XEN XEN XEN XE ▃▃▃▃▃ ▃▃▃▃ █◣◢█ █◤◢█◢█◢█◣◢◣◥▌▌ ! ██ ◥██◤ ◢█ ◢▌◢█ ◥███▋ = ██ ◢████ ███◤ ██ ◢▌ ◢█◤█▋ ▌ ██ █◤◥█◤ ◥█◣ ◥██◤ ◥█▌◥█◤▅▅▅ ████ -- =[:◣≡:Origin ]|[ cpu.tfcis.org ]|[≡˙≡:]= =[:╱≡:Author ]|[125-229-161-196.dynamic.hi]|[≡:]= --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.48.60
1F:→ indark:剛剛試了一下.. it works! 06/22 11:18
2F:推 Donnie:what is 當掉的windows重新開機? 06/22 13:25
3F:推 moonshade:就是在remote console上面做到一半掛掉了 06/22 14:51
4F:→ moonshade:想要重開但是不要跑一半的程式停掉 06/22 14:51
5F:推 Donnie:i see. 有 GUI 的可以嗎? O_O 06/22 18:40
6F:推 indark:應該是檢不回來了 06/22 22:56







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP