使用 GUI EMACS 以及 GDB 來除錯 (MSYS2 Platform)
2026/04/13 14:43
瀏覽36
迴響0
推薦0
引用0
昨天晚上發現 SiaTaigi 有一個 bug,於是今天早上 (2026 年 4 月 13 日) 就花點時間來做 Debugging。
由於上次發現 Copilot 對 Coding 還蠻有幫助的,所以今天又來問它;問什麼呢?筆者問它 EMACS 有沒有 GUI version,它說有!筆者再問,那在 MSYS2 平台上有沒有?沒想到還真的有,而且還可以跟 GDB 協同合作,Wow! 在試用這組合來做 Debugging 之後,筆者覺得這實在是太酷了,難得可以在 Windows 11 Unix-Like 的平台上,找到這麼棒的協同工具,所以就來介紹給大家。
首先,當然是要安裝 mingw64 版本的 emacs,這部分筆者就不詳述。
首先,當然是要安裝 mingw64 版本的 emacs,這部分筆者就不詳述。
安裝好之後,啟動 emacs,我們可以發現它的 GUI 跟 GTK widgets 長得很像,在問過 Copilot 之後,可以確定 gui version emacs 就是使用 GTK widgets。
接著,啟動 gdb 並載入想要除錯的執行檔。
alt+x, gdb
alt+x, gdb
在上方的 gdb command line 載入執行檔:file ./siataigi.exe
alt+x, gud-tooltip-mode (可以透過游標顯示變數之值)
接下來讓各位看一下 screen snapshots,感受一下如何使用這兩個協同工具做 debugging。
接下來讓各位看一下 screen snapshots,感受一下如何使用這兩個協同工具做 debugging。
Snapshot 1: 剛啟動的畫面

Snapshot 2: 在 emacs 的 command line 載入 gdb 之後的畫面;

Snapshot 3: 把 tooltip mode 打開之後,可以透過游標顯示變數之值;當然,透過上方的 gdb command line,一樣可以下 gdb command 來查詢變數之值。

Snapshot 4: POJ without tone marks ---> POJ with tone marks
筆者最近在建立 Eng2Poj 資料庫的時候,突然想到「不一定要透過 English word 來轉 POJ」,直接透過 Roman Spelling (without tone marks) 也可以轉 POJ;而且,如果該 POJ 常常出現在句首,就把出現在句首時首字母必須大寫的對應也一併寫進資料庫。例如,「早安」這個 POJ 字詞有很高的機率會出現在句首;因此,當我們鍵入 gau-cha,第一次按下 Ctrl+Enter 時,SiaTaigi 會將它代換成 gâu-chá;第二次按下 Ctrl+Enter 時,SiaTaigi 會將它代換成 Gâu-chá。這功能對已經瞭解許多 POJ 字詞的人來說,會比 English to POJ 更有用!

好了,今天的分享就寫到這裡,新版的 SiaTaigi 等筆者將 Eng2Poj 以及 POJ without tone marks to POJ with tone marks 的資料庫建立到某個程度之後,再擇期釋出。
你可能會有興趣的文章:








