1、“binary not found”
需要build(編譯)工程,注意build preference中的“自動生成makefile文件”註釋掉(一般都自己寫 Makefile文件)。build後就會出現binary等文檔。注意eclipse中build、run、debug都需要revise configure
(1)在eclipse的project菜單下有build automatically。選中這個的話。每次在保存以後就會編譯。
(2)由於eclipse的編譯是基於時間戳的判斷機制的。因此當你按build all的時候有些eclipse認爲時間戳沒有改變的類不會被編譯。因此你可以先clean一下再編譯。這個時候eclipse會將所有的已編譯信息清除然後編譯。
在使用 Ecplise 進行 DEBUG 的時候,往往要監視一些重要變量的變化情況,像普通的 int,bool , char*,class 的對象,直接使用“ Variables ”窗口,就可以直接的監視變量的變化情況,而對於一些比較複雜的數據結構,有的時候,可能只需要監視她的某個成員的變化。這時,我就想到使用另外一個窗口“ Expressions” 的 watch 功能來取得一些數據,
但是,經過一段時間的使用,發現了一些平時不會出現的問題。
比如,當在打開窗口 “ Expressions” ,平且,使用了一些變量的 watch 以後,在調試的時候,會遇到如下一些情況,
下面是在 DEBUG 時,窗口“ console ”中輸出的幾種錯誤信息
=========================================================
mi_cmd_var_create: unable to create variable object
mi_cmd_var_create: unable to create variable object
=========================================================
Single stepping until exit from function ntdll!LdrDisableThreadCalloutsForDll,
which has no line number information.
=========================================================
No symbol "current_path" in current context.
No symbol "current_path" in current context.
No symbol "current_path" in current context.
=========================================================
No source available for "ntdll!LdrDisableThreadCalloutsForDll() "
=========================================================
Variable object not found
Variable object not found
下面是錯誤提示窗口的,提示信息
=========================================================
Error: Target request failed:{R,T}xThread terminated.
=========================================================
還有,
Debug 調試的時候, Eclipse 莫名奇妙的停止運行。
最後,經過代碼的 review ,確認,結論是,在代碼中並不存在問題。
問題的原因可能是 Ecplise 本身有問題,後來,經過多種嘗試,
得出結論,
只有在需要的時候,在使用“ Expressions” 的 watch 功能,使用完後,立即清除所有的 watch ,
這樣,就不會有任何的錯誤提示了。