Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
中国BDN社区
  • Welcome to Bentley Communities
  • Bentley's Communities
  • 中国BDN社区
  • Cancel
中国BDN社区
中国BDN社区-威客 第3章、运行并调试Addin
    • Sign In
    • 中国BDN社区-威客
    • +iTwin.js编程
    • +MicroStation CONNECT版SDK的新变化
    • +MicroStation编程技巧
    • +OpenRoads中国版平台开发指南
    • +ORD SDK二次开发编程
    • +一步步学习ABD-CE开发
    • -一步步学习MicroStation CE Addin开发
      • 第0章、介绍与必备条件
      • 第1章、建立一个最简单的Addin应用程序
      • 第2章、在Addin中创建元素
      • 第3章、运行并调试Addin
      • 第4章、给Addins添加命令
      • 第5章、给Addins添加Windows窗体
      • 第6章、用DgnPrimitiveTool和DgnElementSetTool实现交互式命令
      • 第7章、响应MicroStation事件
      • 第8章、在Addins中调用C/C++函数
      • 第九章、用C++/CLI编写Addins
    • 一步步学习MicroStation CE MDL开发
    • +一步步学习ProjectWise编程
    • 中国优先社区二次开发精华帖汇总
    • +学习Microstation交互式工具开发
    • +过期帖,留存仅供参考
    • +非Bentley社区分享的文章
    • C#、C/C++相关的编程知识汇总

     
     Questions about this article, topic, or product? Click here. 

    第3章、运行并调试Addin

    Addin应用程序是基于.NET框架的程序集,.Net程序集与NativeCode的DLL有一个重要的区别,.Net程序集一旦被加载其不能像NativeCode的Dll那样被卸载。所以如果我们修改了.Net程序的源代码需要重现编译生成的时候必须先关闭掉已经加载了此程序集的Mstn。下面我们来介绍Addin的调试。Addin的调试有两种方式,一种是通过VS启动Mstn进行调试,另一种是将VS附加到已经启动的Mstn进程上进行调试。下面先一步一步介绍第一种方式:

    1.在VS中打开您的项目。在项目属性窗体的Debug(调试)分类中设置Start external program(启动外部程序)指向您Mstn CE的microstation.exe,在Command line argument栏中输入一个测试用的DGN文件。注意,这一步骤属于项目设置,对某个项目仅需要做一次即可。下图是我机器上的设置情况:

    2.在VS的源代码窗口中找到MyAddins.cs的CreateElement.LineAndLineString1()行,在该行最前列空白处点一下将该行设置为断点。该行最前列将会出现一个橘红色的圆钮,同时,该行代码内容也会高亮显示。如下图所示:

    3.在VS的调试工具栏中点击运行按钮(下图中的绿色箭头)将会启动Mstn,待Mstn启动后在键入域键入MDL LOAD csAddins并回车,程序将会运行到断点处暂停,如下图所示:

    4.在调试工具栏上有许多工具可用,如下图红色框框住的进入型单步执行(Step Into)和蓝色框框住的越过型单步执行(Step Over)等等。如果您找不到这个工具栏,请选择VS菜单View > Toolbars > Debug。现在让我们点击Step Into工具进入CreateElement.cs的LineAndLineString1方法。

    5.此时您可以将鼠标光标移到某个变量上,则该变量的值将会显示出现。如下图所示。

    6.点击调试工具栏上的停止调试(Stop Debugging)按钮将停止调试,由VS启动的Mstn也会自动关闭。VS中还提供了大量丰富的调试命令和手段,您可以找专门介绍VS使用的资料来深入学习VS的调试技术,在此不再赘述。

    下面介绍另外一种对已经启动的Mstn的调试方法。此方法不需要您事先配置项目属性中的Debug页面。请按如下步骤操作:

    1.启动Mstn。


    2.在MyAddins.cs的CreateElement.LineAndLineString1()行设置断点。详细操作参见第一种调试方法中的步骤2。

    3.在VS中选菜单Debug(调试) > Attach to Process(连接到进程)…,在弹出的连接到进程的对话框中的进程列表中找到并选中microstation.exe(操作技巧:可以用鼠标点击列表头Process使进程以降序排列,这样可以快速找到microstation.exe),点击Select…按钮,弹出如下对话框,选中Manged(v4.6,v4.5,v4.0)选项,然后点击Attach按钮。

    4.切回到Mstn,键入MDL LOAD csAddins并回车,此时就进入到了程序调试状态,具体调试方法与以上描述的第一种调试方法相同,参见第一种调试方法中的步骤4和步骤5。

    • Share
    • History
    • More
    • Cancel
    • HongQiang Guo Created by Bentley Colleague HongQiang Guo
    • When: Mon, May 7 2018 1:55 AM
    • Revisions: 1
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2023 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies