我正在嘗試開發一些基於圖像處理的非常複雜的應用程序。我廣泛使用openCV。但是隨着我的程序的複雜性越來越高,我發現調試我的程序非常困難。只是爲了調試,我必須在Matlab中開發相同的算法。這樣做的主要原因是,即使在代碼中有任何錯誤,即使代碼停止運行或崩潰時,變量的值也會保留。既然值在那裏,我可以使用不同的可視化工具來分析它;像繪製它;將其顯示爲圖像。有沒有什麼方法或功能可以用C來實現,以便我們可以採取同樣的行爲。如何編程使調試變得容易?
回答
要調試視覺算法,我強烈建議將算法分爲不同的視覺步驟。通過將您的c程序構建爲plugin,將每個步驟作爲函數接口到像matlab這樣的視覺環境。然後將控制器部分編程爲matlab腳本而不是c。這使您可以將每個視覺步驟視爲圖像。
編輯:您似乎無法使用我發佈的插件方法附加visual studio插件,請參閱評論。
聽起來像一個很好的答案,但我不知道1)如何將用C寫成的代碼附加到matlab。 2)如何將VS調試器附加到matlab。你能告訴我該怎麼做,或者你能指導我一個適當的鏈接? – bubble 2011-03-21 19:24:40
對不起,我的無知......我點擊插件,並得到它正確的1) – bubble 2011-03-21 19:34:31
沒問題。順便說一句,看來你不能使用我發佈的方法附加visual studio調試器。隨着程序使用matlab編譯器進行編譯。但是,您可以使用loadlibrary並直接從dll調用本地函數。這種方法的缺點是你不能傳遞指針。 – gopice 2011-03-21 19:58:52
- 1. 使用CherryPy的作爲阻斷/非線程更容易調試
- 2. 調試版本如何使逆向工程變得簡單?
- 3. AS3多個文本域變得容易
- 4. ElasticSearch:全文搜索變得容易
- 5. Swift:通過能夠在延遲語句中捕獲返回值使得調試變得更容易
- 6. 這個Makefile如何變得更好/更容易/更少冗餘?
- 7. AEM很容易如何重用變量
- 8. 是否有任何庫使得從字符串創建元素變得容易?
- 9. 編譯C程序有多容易?
- 10. 如何編譯OpenGL C++程序「更容易」?
- 11. 如何* *容易在Java程序中
- 12. 如何使信令NaN容易使用?
- 13. 如何調試彙編程序?
- 14. 如何讓此Java代碼可並行化?我如何使它變得易變
- 15. 如何重構一個方法,使其更容易測試
- 16. 通過操作系統安全性,使用C編程變得更容易並執行禁用?
- 17. 如何編碼HTTP鏈接...使用javascript很容易?
- 18. 如何編輯Wordpress主題並使其更容易更新?
- 19. 變量應該變得易變嗎?
- 20. TDD如何使重構更容易?
- 21. 如何使圖像更容易點擊?
- 22. 遠程編程和調試
- 23. 如何使用PayPal Express Checkout調試失敗的交易?
- 24. 我們如何才能讓Greendao DB關閉錯誤變得容易?
- 25. 如何調試使用調試信息編譯的共享庫
- 26. 如何調試x86彙編
- 27. 改變內容時編程
- 28. 如何讓非程序員更容易使用Git子模塊?
- 29. 我可以通過編程獲得調試時顯示的Autos/local變量嗎?
- 30. 使用nmake編譯調試C程序
你不使用GDB嗎? – 2011-03-21 18:22:46
即使不是這樣,帶日誌語句的通用try/catch塊也可以採用LONG方式。 – 2011-03-21 18:24:31
@Matt我對此一無所知......你能告訴我它是什麼嗎?我使用Visual Studio作爲我的編輯器。有沒有我不知道的功能? – bubble 2011-03-21 18:32:13