青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-6-30 19:24 | 显示全部楼层 |阅读模式
ug二次开发的程序多是dll,调试的时候要启动UG主进程。以前实在属性的命令里指定UG的exe,但是调试退出UG也退出了,十分的不便。启动UG好慢啊!所以,研究了一下如何在调试完的时候能够不关闭UG。
+ y6 ~- d6 v7 n$ N( `大体来说,思路是将开发的dll注入UG的进程空间,而不是主动的启动UG主进程,这样调试完就可以卸载而不会关闭主进程。
6 @& m( t% r* D8 g$ g注入进程的调试方式有两种,后面细说。首先说两点准备,第一,加载是手动,卸载方式要是立即的(C)或者手动(C++),不要让dll在UG结束的时候才能卸载。第二,要用异常捕获,或者之类的办法,否则出现错误,很可能将进程杀死。当然UG做的还不错啦,就算出错,一般也不会退出。' q: e0 h  @' L. p* l. C# ^
另外说明一点,本文是针对internal模式的,语言是C或者C++,其实用.net也一样,我就不赘述了。有空再将.net开发。
7 z. c6 W3 f6 S- g, S. r正文开始:5 _/ V: Z% b. h# W% i5 ?
一、UG NX4,在调试时注入方式。NX4只能是这种,NX5可以在属性里设置另一种。NX4使用的是VS2003
9 N9 l$ d2 R0 U+ e6 ^; a+ z% x1,在程序中设置断点,编译模式debug
; f$ v% N' V4 V8 h* j' `' p2,设置卸载方式,前面已说& I. A4 |. y7 P( F, V7 s
3,启动UG,或者UG正在运行
9 C+ n9 J% k, Y3 U( v% F: C$ j4,在VS2003中找到【调试】菜单,选择【进程】9 t- I2 [! ]% W% ]* x
5,选择进程ugraf.exe,点击【附加】8 R1 y. t* ~) B+ y. l) e3 ?. d
6,勾选“Native”程序类型,多说一句,.net程序选择CLR类型/ ~' U1 H6 Z4 `4 Z
7,在VS中启动调试,然后在UG中加载dll,# e3 ~# f. H& H- q3 |" n
8,打开VS2003调试
% f" D/ ~8 I. _: [  T9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。
$ `4 C8 W5 T7 q* V! q10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll
7 S' A5 c6 s& h. }二、UG NX5,VS2005.采用project 属性中设置的方式。当然也可以同上。
0 E' M* b4 w. N/ ]7 R* w' Z1,在程序中设置断点,编译模式debug
! B# n. h# G9 \2,设置卸载方式,前面已说" v& ~" F6 R# ~' Y" P. A
3,启动UG,或者UG正在运行
  _" _4 E5 N3 k2 ~- z4,在VS2005中设置project属性页,
, I, R( u/ R3 ~) Y7 F/ a: L5,在【configuration property】中的“Debugging”中,指定command为你的ugraf.exe,当然包括路径( u  }6 K+ S+ |) M" I# s
同时选择“attach”为Yes.另外,.net程序也是如此。* B- ]3 x& ]5 H3 M
6,启动调试调试
; S8 L/ X2 L& J- Q8 u7,在UG中加载dll,
/ o+ Y, D( ~4 c) ^" t; H" Q8 X& Q8,打开VS2003可以调试了
( T: ]+ c0 \1 ~& o" z$ C+ l: g9,调试完选择【调试】菜单中的【全部分离】或者【停止调试】,两者的区别自己研究。. n+ M8 J, o) E( N! r7 X) P0 r1 g
10,最后别忘了,如果设置手工卸载,还要在UG中卸载dll" P# `! |* K" U' {/ p) ?
说的够清楚了吧。本来有抓图的,但是各位可能也知道CSDN上传图片很痛苦的。2 D. o; {) e" Y& I5 M+ I
有问题回帖。
发表于 2009-7-8 14:44 | 显示全部楼层
哥哥啊,转帖重要贴个出处啊……; ]* s, u; z* A+ J

' v8 ?* {0 X- C4 v0 ?9 ohttp://blog.csdn.net/begtostudy/archive/2008/05/11/2432821.aspx
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 07:32 , Processed in 0.200295 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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