方法1:附加到一個(gè)正在運(yùn)行的進(jìn)程
最快速的解決方案是將調(diào)試器附加到一個(gè)已經(jīng)運(yùn)行的進(jìn)程中。這適用于可以無(wú)限期運(yùn)行的應(yīng)用程序,如各種服務(wù)。
-
從主菜單中選擇 "文件"|"打開(kāi)",打開(kāi)源文件。
-
設(shè)置斷點(diǎn),并確保它們?cè)谀愀郊拥竭M(jìn)程后會(huì)被擊中。
-
啟動(dòng)該進(jìn)程。你可以在IDE之外或使用內(nèi)置的終端(視圖|工具窗口|終端或Alt+F12)來(lái)做。
-
在CLion中,從主菜單中調(diào)用運(yùn)行|附加到進(jìn)程或按Ctrl+Alt+F5。
-
在條目列表中,搜索你的進(jìn)程。
-
調(diào)試器連接成功后,你就可以像往常一樣進(jìn)行調(diào)試。詳情見(jiàn)調(diào)試部分。
-
完成后,調(diào)用 "運(yùn)行"|"停止 "或點(diǎn)擊工具欄上的 "暫停 "或調(diào)試工具窗口中的 "暫停 "來(lái)脫離該進(jìn)程。

方法2:調(diào)試一個(gè)假的CMake項(xiàng)目
另一個(gè)選擇是創(chuàng)建一個(gè)基本的CMake項(xiàng)目并使用CMake應(yīng)用配置來(lái)調(diào)試外部可執(zhí)行文件。
-
在歡迎界面上點(diǎn)擊新建項(xiàng)目,或從主菜單中選擇文件|新建項(xiàng)目。
-
選擇任何一個(gè)C/C++模板,指定項(xiàng)目的名稱(chēng),然后點(diǎn)擊創(chuàng)建。
-
CLion將生成一個(gè)帶有默認(rèn)運(yùn)行/調(diào)試配置的存根項(xiàng)目。你可以使用該配置或從CMake應(yīng)用程序模板中創(chuàng)建一個(gè)新的配置。
-
進(jìn)入 "運(yùn)行|編輯配置"。在配置設(shè)置中,設(shè)置你的可執(zhí)行文件的路徑,并應(yīng)用。
-
使用主菜單中的 "文件"|"打開(kāi) "打開(kāi)二進(jìn)制文件的來(lái)源。
-
在資源中導(dǎo)航并設(shè)置斷點(diǎn)。CLion會(huì)顯示警告說(shuō)這些文件不屬于這個(gè)項(xiàng)目。由于你沒(méi)有使用CMake作為構(gòu)建系統(tǒng),你可以安全地忽略這些警告。
-
準(zhǔn)備好后,為你在步驟4中設(shè)置的配置啟動(dòng)一個(gè)調(diào)試會(huì)話(huà)。
方法3:調(diào)試一個(gè)自定義構(gòu)建的應(yīng)用程序
作為一個(gè)更全面的選擇,采用CLion的自定義構(gòu)建目標(biāo)--一種為各種C/C++應(yīng)用程序設(shè)置構(gòu)建和運(yùn)行/調(diào)試的方法。你可以配置調(diào)試或一個(gè)完整的構(gòu)建、清理和調(diào)試鏈。
創(chuàng)建一個(gè)用于調(diào)試的自定義配置:
-
在CLion中使用主菜單中的 "文件|打開(kāi) "打開(kāi)源文件。
-
在源文件中導(dǎo)航并設(shè)置斷點(diǎn)。
-
進(jìn)入 "運(yùn)行"|"編輯配置",點(diǎn)擊 "圖標(biāo)一般添加",從模板列表中選擇 "自定義構(gòu)建應(yīng)用程序"。
-
首先,你需要指定一個(gè)構(gòu)建目標(biāo),即使不會(huì)進(jìn)行實(shí)際的構(gòu)建。這是必須的,因?yàn)闃?gòu)建目標(biāo)定義了調(diào)試器所取的工具鏈。
-
點(diǎn)擊配置自定義構(gòu)建目標(biāo)。在打開(kāi)的對(duì)話(huà)框中,點(diǎn)擊圖標(biāo)一般添加來(lái)添加一個(gè)新的目標(biāo)。指定目標(biāo)的名稱(chēng),其他字段留空。保存目標(biāo),回到配置設(shè)置。
-
在目標(biāo)字段中選擇創(chuàng)建的構(gòu)建目標(biāo)。
-
CLion會(huì)在編輯配置對(duì)話(huà)框的底部顯示一個(gè)警告。出于調(diào)試的目的,這個(gè)警告可以被忽略。
-
在Executable字段中指定應(yīng)用程序的二進(jìn)制文件。
-
保存配置并開(kāi)始調(diào)試會(huì)話(huà)。
最新版本的Clion下載可以點(diǎn)擊這里獲得。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn