青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 2958|回复: 1

[转载] UG二次开发调试技巧

[复制链接]
发表于 2009-6-30 19:24 | 显示全部楼层 |阅读模式
ug二次开发的程序多是dll,调试的时候要启动UG主进程。以前实在属性的命令里指定UG的exe,但是调试退出UG也退出了,十分的不便。启动UG好慢啊!所以,研究了一下如何在调试完的时候能够不关闭UG。
7 Z9 B+ Z; O! x+ B2 D8 X大体来说,思路是将开发的dll注入UG的进程空间,而不是主动的启动UG主进程,这样调试完就可以卸载而不会关闭主进程。: y$ Z" P# w8 }8 G
注入进程的调试方式有两种,后面细说。首先说两点准备,第一,加载是手动,卸载方式要是立即的(C)或者手动(C++),不要让dll在UG结束的时候才能卸载。第二,要用异常捕获,或者之类的办法,否则出现错误,很可能将进程杀死。当然UG做的还不错啦,就算出错,一般也不会退出。( n3 Y! @9 }3 W! J* {8 D
另外说明一点,本文是针对internal模式的,语言是C或者C++,其实用.net也一样,我就不赘述了。有空再将.net开发。
; z% z1 R' S8 Q$ z. \2 \7 U' ?% s正文开始:
. M3 T: ~4 v/ F$ h3 X& d- I一、UG NX4,在调试时注入方式。NX4只能是这种,NX5可以在属性里设置另一种。NX4使用的是VS2003
$ k4 i) Z. @9 G$ u9 k) p/ i  q, T2 Z: m1,在程序中设置断点,编译模式debug/ G5 ?9 W+ d0 O1 N: T
2,设置卸载方式,前面已说/ T9 M8 B6 s' j3 V
3,启动UG,或者UG正在运行
7 W$ E" ^* b" V; s% q, h, {  K4,在VS2003中找到【调试】菜单,选择【进程】
/ G: d. H8 ~; F2 Y5,选择进程ugraf.exe,点击【附加】$ q9 V* e3 f' W$ e! l) o$ E4 v
6,勾选“Native”程序类型,多说一句,.net程序选择CLR类型" ?( Q( i+ d9 B: m% d( Y- s# V
7,在VS中启动调试,然后在UG中加载dll,
4 J1 g/ W8 E, T! v8,打开VS2003调试( Q; J: k9 ^8 I+ T4 [+ k( m
9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。" \! l; y2 F. r# H
10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll
1 }6 m1 ?# n5 x* _  h二、UG NX5,VS2005.采用project 属性中设置的方式。当然也可以同上。
/ g' R& w: E& F' V8 w& v1,在程序中设置断点,编译模式debug; o8 ]$ s" s4 f
2,设置卸载方式,前面已说7 ]8 i! _6 s! J8 p/ r: `
3,启动UG,或者UG正在运行# s* m# g" i; C, c5 C& W
4,在VS2005中设置project属性页,2 L0 K7 ^# t" K" D; n
5,在【configuration property】中的“Debugging”中,指定command为你的ugraf.exe,当然包括路径
0 z* D5 N7 t, L  f: {+ i3 L$ N1 ]同时选择“attach”为Yes.另外,.net程序也是如此。
( t9 s" b- G1 ?' I6,启动调试调试
2 o6 @+ a$ W1 _/ P" E/ F+ \& ^7,在UG中加载dll,
; B' K' h- R/ j' Z6 y4 w8,打开VS2003可以调试了/ n  _! Q5 ^% ~, @. J- M7 o7 l' o8 s
9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。
% ^: ^' M" K" Y; K* z3 S4 E10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll6 T5 g" f, m* }! U9 s$ L: a
说的够清楚了吧。本来有抓图的,但是各位可能也知道CSDN上传图片很痛苦的。; E. Q2 P1 {6 C+ s9 }; W0 _1 G: U- R& L
有问题回帖。
发表于 2009-7-8 14:44 | 显示全部楼层
哥哥啊,转帖重要贴个出处啊……
5 K- Q* }4 X$ y5 y1 Y! p
! W% @( y6 i& D: B% khttp://blog.csdn.net/begtostudy/archive/2008/05/11/2432821.aspx
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-6-28 22:29 , Processed in 0.146691 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表