NX二次開發-NX+VS寫代碼設斷點調試技巧


在做NX二次開發的時候寫完代碼,編譯可以通過,但是執行的時候卻沒有反應,或者得到的結果不對,說明肯定有地方傳值出錯了。
我在查找代碼錯誤的時候有幾種方法:
1.uc1601打印函數輸入和輸出的值看對不對。
2.VS設斷點-添加進程調試,來看輸入輸出值對不對
3.UF_CALL也就是UF_get_fail_message這個函數,來看函數自己用的對不對。
4.查看NX-Help-LogFile(日志),拖到最后看提示了哪些錯誤。

我一般用的比較多的是設斷點調試,這里先說設斷點調試。其他方法改天再寫。

寫舉一個典型的例子--1.創建塊 2.特征找體 3.設置顏色

 1 NX9+VS2012
 2 
 3 #include <uf.h>
 4 #include <uf_modl.h>
 5 #include <uf_obj.h>
 6 
 7 
 8 UF_initialize();
 9 
10 //UFUN方式創建塊
11 UF_FEATURE_SIGN Sign = UF_NULLSIGN;
12 double Corner_pt[3] = { 0.0, 0.0, 0.0 };
13 char *Edge_len[3] = { "100", "100", "100" };
14 tag_t BlkTag = NULL_TAG;
15 UF_MODL_create_block1(Sign, Corner_pt, Edge_len, &BlkTag);
16 
17 //UFUN方式特征找體
18 tag_t BodyTag = NULL_TAG;
19 UF_MODL_ask_feat_body(BlkTag, &BodyTag);
20 
21 //UFUN方式設置顏色
22 UF_OBJ_set_color(BodyTag, 186);
23 
24 UF_terminate();

我們主要關注的是:
1.UF_MODL_create_block1生成的tag值
2.UF_MODL_ask_feat_body輸入和輸出的tag值
3.UF_OBJ_set_color輸入的tag值

如果幾個關鍵地方的輸入輸出都是正確的,代碼執行起來必然不會出錯。

具體的調試步驟請看動畫(點擊圖片放大觀看)

1.VS點擊行號左側設斷點
2.VS調試-添加進程-找到NX的進程
3.進入NX,ctrl+u執行dll程序
4.VS進入調試模式,按F10逐步調試,觀察幾個函數的tag值輸入輸出是否正確
5.VS最上邊工具條紅色按鈕,點擊結束調試。
具體的VS設斷點調試相關內容,可以去搜VS軟件調試相關的內容,這里不在詳細說了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM