一步步学习MDL[3]

第三章、在Visual Studio环境中生成并调试MDL应用

许多开发者多次问过我同样的一个问题:“如何在Visual Studio中直接生成程序?我不喜欢在那个黑窗口中键入bmake来生成。”这篇文章就带领您配置Visual Studio以达到这个目标。同时,还会演示如何在Visual Studio中调试我们的应用程序。

1. 在Windows操作系统级定义环境变量MSV8i指向您MicroStation V8iSS3的安装路径。如下图所示:

请注意,定义变量值时在路径最后加了一个路径分隔符。

2. 在…\MicroStation\mdl\bin文件夹下创建一个批处理文件MakeMa.bat,其内容如下:

CALL "%MSV8i%mdl\bin\mstndevvars.bat" "%MSV8i%" "%MSV8i%"

CD /D %1

bmake %2 %3

3. 启动Visual Studio 2005,选菜单Tools > External Tools…定义如下四个外部工具。

注意,在以上每个定义中都要勾选Use Output window选项,这样,在生成MDL应用程序过程中的所有提示(包括出错信息)就会在Visual Studio的输出窗口中显示出来。最终定义后的菜单如下:

4. 在Visual Studio中选菜单File > New > Project,然后按下图建立一个空项目。注意项目位置和项目名称的设置一定要与您已经建立的文件夹相匹配。同时不要钩选Create directory for solution项。

随后在该项目的解决方案浏览器中将HelloWorld.cpp添加到Source Files下,将HelloWorld.r添加到Resource Files下,将HelloWorld.mke添加到项目根下。最后的结果如下图所示。至此,我们完成了所有配置。注意,前三步骤只需要做一次,第四步需要对每个手工建立的项目做一次。下面就可以在Visual Studio中直接生成我们的MDL应用程序了。

5. 请选择Tools下的Rebuild MDLApp (Release),将会在输出窗口中看到生成程序的过程。如果您的源代码中有错误,则可通过双击输出窗口中的出错提示行而直接切换到源代码对应的行,这一点也是比用黑窗口要好得多。

6. 为了能进一步在Visual Studio中实现MDL函数的智能感知,需要我们选择菜单Tools  > Options,然后按下图进行设置。

经过上面的设置后,当您在.cpp文件中输入代码时,会自动出现语法提示。如下图,当您在eeh后键入了点后,会弹出该对象的所有成员函数供您选择。当选择了AddToModel函数并输入了前括号后,又会出现函数的参数提示。这将大大提高我们的编程效率。

下面来介绍一下如何在Visual Studio中调试我们的MDL程序。

1. 启动MicroStation,如果您已经启动了MicroStation,则可忽略这一步。

2. 在Visual Studio中选菜单Tools > Rebuild MDLApp (Debug)以调试方式生成当前项目。

【注意】:由于以外部工具方式启动的生成命令不能像Visual Studio内置的生成命令那样会自动保存源文件,所以,在执行我们定义的这些外部工具命令前需要手工保存一下源代码。可以通过按Ctrl+S实现快速保存。

3. 在源代码的某行设置断点。方法是在该行最前列空白处点一下,此时该行最前列将会出现一个橘红色的圆钮。如下图所示:

4. 选菜单Debug > Attach to Process…,在弹出的连接到进程对话框中的进程列表中找到并选中ustation.exe,确保Attach to:后是Native code,如果不是,可通过选择Select按钮来改变。然后点击Attach按钮。操作过程如下图所示:

【技巧】:可以用鼠标点击列表头Process使进程以降序排列,这样可以快速找到ustation.exe。

5. 切换到MicroStation,在键入域输入MDL LOAD HelloWorld,此时控制权会自动切换到Visual Studio并停在您设置的断点处。在调试工具栏上有许多工具可用,如进入型单步执行(Step Into)和越过型单步执行(Step Over)等等。如果您找不到这个工具栏,请选择Visual Studio菜单View > Toolbars > Debug。关于Visual Studio调试工具的详细用法请参见Visual Studio帮助文档。

至此,所有的开发工作都可以在Visual Studio中完成了。包括编辑源代码、编译和链接程序以及调试程序。希望您喜欢这个完美的集成开发环境。

posted @ 2013-01-24 17:25  劃云  阅读(743)  评论(0编辑  收藏  举报