青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-6-30 19:24 | 显示全部楼层 |阅读模式
ug二次开发的程序多是dll,调试的时候要启动UG主进程。以前实在属性的命令里指定UG的exe,但是调试退出UG也退出了,十分的不便。启动UG好慢啊!所以,研究了一下如何在调试完的时候能够不关闭UG。8 M9 s* v. M; m1 m- X0 O( u; l+ I
大体来说,思路是将开发的dll注入UG的进程空间,而不是主动的启动UG主进程,这样调试完就可以卸载而不会关闭主进程。& T, J* Z$ h% P( W1 t' n7 Z
注入进程的调试方式有两种,后面细说。首先说两点准备,第一,加载是手动,卸载方式要是立即的(C)或者手动(C++),不要让dll在UG结束的时候才能卸载。第二,要用异常捕获,或者之类的办法,否则出现错误,很可能将进程杀死。当然UG做的还不错啦,就算出错,一般也不会退出。8 \. N0 w) h- ~7 U$ q  z" f
另外说明一点,本文是针对internal模式的,语言是C或者C++,其实用.net也一样,我就不赘述了。有空再将.net开发。& j- O- f! r" `* ~# C
正文开始:0 z4 {& [3 c/ Z, w* G9 V( ^
一、UG NX4,在调试时注入方式。NX4只能是这种,NX5可以在属性里设置另一种。NX4使用的是VS2003  Z( u8 H( l6 K; t( U
1,在程序中设置断点,编译模式debug# j9 }8 `% ?7 ?. t" H
2,设置卸载方式,前面已说! `/ {" ]+ v' o9 s2 y* v* J
3,启动UG,或者UG正在运行
  P8 F( ?  ^/ [: t7 |7 t& }4,在VS2003中找到【调试】菜单,选择【进程】
% j+ i6 e4 b9 d$ \7 y! p5,选择进程ugraf.exe,点击【附加】
$ q* t# \4 s" s; B% L& f$ z0 z6,勾选“Native”程序类型,多说一句,.net程序选择CLR类型
# i8 y$ u* K6 x! f( h( i. {' L7,在VS中启动调试,然后在UG中加载dll,1 }  R9 t# a. H0 r& b3 v
8,打开VS2003调试" }& U( c9 ]; I5 {
9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。
  d0 |7 C7 C) f+ e' F3 |10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll% p: E8 ]1 M. i6 ~2 W" z3 j
二、UG NX5,VS2005.采用project 属性中设置的方式。当然也可以同上。
: _2 q5 E: W& d; o. e1,在程序中设置断点,编译模式debug
1 m  v6 z1 n- p# ]. p3 W2,设置卸载方式,前面已说
  x% I# h( u6 z) y2 \3,启动UG,或者UG正在运行
' a, E3 W  ~! c4 X4,在VS2005中设置project属性页,8 X$ N' ^* ^, o. z- u1 K
5,在【configuration property】中的“Debugging”中,指定command为你的ugraf.exe,当然包括路径# s, v0 x- ~+ K5 \
同时选择“attach”为Yes.另外,.net程序也是如此。$ T; L# s! L" }+ o- C+ m
6,启动调试调试
0 u/ X9 e7 K  O% s7,在UG中加载dll,
7 H1 {4 i* [& k1 _0 H( Y% t/ t1 x8,打开VS2003可以调试了4 P6 z5 Q' u' B. e4 Y3 A0 H: K
9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。
; e, e0 c. w+ D! i8 H# Z1 p5 \8 `# L  B10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll, M7 ]& y% [% C; K' |
说的够清楚了吧。本来有抓图的,但是各位可能也知道CSDN上传图片很痛苦的。
: y7 L3 Q0 q$ |( U5 D有问题回帖。
发表于 2009-7-8 14:44 | 显示全部楼层
哥哥啊,转帖重要贴个出处啊……8 `* Q# w. A9 o3 o, U* M
$ d/ V4 ]6 A+ x* V9 O6 ^; T7 D- s
http://blog.csdn.net/begtostudy/archive/2008/05/11/2432821.aspx
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 22:31 , Processed in 0.065360 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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