2011-04-10 39 views
0

我的項目由幾個共享庫和一個可執行文件組成。我試圖從共享庫調試我的代碼,但調試器從不停止在斷點上,並且我得到了每個斷點的警告:「斷點屬性問題:安裝失敗。」。有人可以解釋我這個問題或爲我提供解決方法。在eclipse中調試共享庫的問題

在此先感謝。

回答

0

在嘗試設置斷點之前,您是否啓動了程序(導致它加載共享庫)?如果你反其道而行(在啓動程序之前設置斷點),它可能不起作用,因爲共享庫代碼尚未加載。

+0

但是然後錯誤(至少在gdb中是cdt中的默認調試器)會有所不同。無論如何,gdb建議記住斷點並在庫加載時激活它 – davka 2011-04-10 19:11:30

+0

根據我的經驗,在未來共享庫加載時激活斷點的功能在gdb中調試C++時不可靠。我再次建議你必須先啓動程序然後設置斷點。如果Eclipse沒有一個「開始」按鈕,除了直到完成之前運行整個程序的那個按鈕,你可以嘗試在main()的第一行設置一個斷點或者直接使用gdb(然後你可以使用「start 「命令)。 – 2011-04-10 19:36:21

+0

我不是OP,順便說一句。我也喜歡這種方式,用'b main; run'。然而,在Linux上啓動程序是不夠的,一個庫實際上在第一次調用時加載,所以你需要在程序中直接運行/運行,直到 – davka 2011-04-10 19:59:25

0

不知道這是否會對你有幫助,但經過一番鬥爭後,我放棄了在eclipse中的調試,轉移到了良好的舊gdb(這是eclipse調試的後端) - 這太令人討厭了。您已經習慣了您期望的命令行界面,並且它快速,方便,直觀而且功能強大。我喜歡使用UI和IDE,但無需任何費用。 gdb有幾個UI「包裝」,ddd是最受歡迎的人羣,但它們並不完美。

至於共享庫 - 如果您嘗試在加載庫之前設置斷點,gdb將發出警告並建議記住它並在將來加載時激活。或者,您可以逐步完成程序,直到加載庫。