ObjectARX除錯問題大蒐集

2021-05-18 11:05:04 字數 488 閱讀 4499

我認為開發中常見的有下面幾個錯誤:

1、忘記關閉資料庫中的物件,這是最為常見的乙個錯誤。在下面的情況下都需要關閉物件:

(1)建立新物件並新增到資料庫中,或者使用符號表和符號表記錄。這在最基本的建立實體程式中可以看到。

(2)使用acdbopenobject、acdbopenacdbentity和acdbopenacdbobject 函式開啟乙個物件之後。

(3)使用遍歷器遍歷資料庫物件(非資料庫物件,例如遍歷文件就不需要關閉)之後。

2、陣列越界。這是vc中的乙個基本錯誤,在arx開發中同樣經常遇到。不過可以使用mfc的安全陣列carray或者arx中對應的acarray來代替。

3、沒有釋放記憶體。一般來說用vc程式設計,用new分配一塊記憶體就需要用delete釋放,但是在arx中有時候就不是用delete。最明顯的例子就是結果緩衝區(struct resbuf)和選擇集(ads_name)的使用,分別用acedrelrb()和acedssfree()函式來釋放記憶體。

程式除錯問題

問題1 呼叫了matlab的一些lib檔案,修改屬性表中的目錄等,參考opencv配置 問題2 dll檔案 執行,缺少哪個就是將相應的那個新增在工程中 問題3 如果在這個工程中呼叫了opencv封裝的函式,如何進入子函式 將呼叫到的.c h檔案新增在工程中,新增標頭檔案,然後設定斷點,編譯。2.li...

Andorid ADB除錯問題

1 問題 在命令列視窗輸入 adb shell 出現以下結果 daemon not running.starting it now on port 5037 createprocess failure,error 2等。原因 由於c windows system目錄下含有adb.exe檔案,該檔案與...

LVDS除錯問題

主控板和噴頭版之間採用lvds線路連線,主控板上serializer將10bit資料進行序列轉換,噴頭版deserializer將lvds序列資料訊號轉化為並行10bit。deserializer通過對lvds資料取樣來同步於serializer晶元,如果沒有同步,會有失鎖訊號產生。lvds線路採用...