簡體   English   中英

Eclipse CDT:無法調試或終止應用程序

[英]Eclipse CDT: cannot debug or terminate application

我已經很好地設置了Eclipse,以便通過Cygwin運行G ++編譯器。 即使字符編碼設置正確

我的配置似乎仍然有問題:我無法調試。 調試視圖中的“暫停”按鈕只是被禁用,並且我的應用程序樹中沒有線程。 看來gdb根本不與Eclipse通信。

(imageshack)Eclipse中的Debug視圖

目前,我的調試設置如下:

調試器:“ Cygwin gdb調試器”

GDB調試器:gdb

GDB命令文件:.gdbinit

協議:默認

我應該在這里提到我不知道.gdbinit是做什么的。 在我的項目中,它只是一個空文件。

我的配置有什么問題?

調試

嘗試以調試方式終止應用程序時,Eclipse顯示以下錯誤:

目標請求失敗:無法中斷。

我也不能終止這個過程。 我必須殺死其父gdb.exe ,而后者又會殺死我的應用程序。

運行

正常運行時,將調用一堆kill.exe ,什么也不做,而Eclipse顯示以下錯誤:

終止失敗。

我可以從任務管理器中殺死FaceDetector.exe

流程瀏覽器

這是在Process Explorer中的外觀(向左調試,向右運行):

(imageshack)Eclipse的進程樹

當Eclipse以普通用戶身份運行時,您是否檢查過這是否是將調試器附加到以root用戶身份運行的應用程序的實例? (如該線程中所示

您是否嘗試以管理員身份運行eclipse只是為了檢查問題是否仍然存在?


此外,此評論還說

我花了整整一天的時間來分析為什么我無法從eclipse暫停我的gdb。
最終我發現, 在路徑中沒有找到kill.exe ,eclipse使用該路徑SIGINT發送到cygwin gdb
因此,如果任何人都可以使用eclipse和gdb進行調試,並且不能掛起正在運行的調試目標, 請檢查是否存在cygwin kill.exe

我發現的唯一解決方法是直接從Cygwin啟動Eclipse。

啟動Cygwin Bash Shell,導航到Eclipse的安裝目錄,然后輸入./eclipse.exe

CDT與Cygwin進行通訊的方式似乎存在問題。 傳遞了標准輸出並執行了kill.exe ,但是除非Eclipse通過Cygwin運行,否則kill.exe不會成功終止應用程序。 通過gdb調試會產生類似的問題。 這也可以通過解決方法解決。

基於注釋中的答案和其他答案,如果我不得不猜測(假設您已經安裝了cygwin的足夠部分),則可能需要將cygwin bin目錄添加到Windows路徑。 為此,請轉到計算機的屬性,在其中一個選項卡(我相信啟動)上,可以設置環境變量。 其中的變量之一是PATH變量。 將/ usr / bin目錄的Windows路徑添加到該路徑,然后eclipse應該能夠找到kill。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM