如何到Open Cascade内部进行调试

Open Cascade作为世界上唯一一款成熟的开源CAD几何内核,无论是商业开发还是供广大CAD开发人员学习,都能发挥重要的作用。

由于Open Cascade的核心源码全部开放,开发人员在调试基于OCC编写的程序时,可以进入内部源码进行调试,方便找到Bug的原因,也可以辅助学习一些CAD核心几何算法原理。

但是如果直接采用官方提供的OCC库,调试代码时按F11是无法进入Open Cascade内部源码的,原因是OCC官方发布的dll文件目录(OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\win64\vc14\bin)里只有dll文件,缺少pdb文件。

 图1 OCC官方自带的dll文件目录

pdb文件是VS编译链接时生成的文件,里面存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等,如果有这些文件的话,就可以进入Open Cascade内部进行调试。

所以要想进入OpenCascade内部源码进行调试,必须用相应的编译器(比如VS2015)手动编译Open Cascade源码,然后运行时调用编译出来的dll文件即可。

以VS2015+Open Cascade7.6.0为例,具体步骤为:

  1. 安装opencascade-7.6.0-vc14-64.exe,然后双击安装目录下的C:\XXX\OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\msvc.bat,直接打开OCCT项目;
  2. 设置编译选项为x64 Debug(只有在Debug模式下才会生成pdb文件),编译整个OCCT项目,编译顺序为:FoundationClass、ModelingData、ModelingAlgorithms,然后再编译剩余的模块;
  3. 编译结束后,会在OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\win64\vc14\bind目录下生成所需的dll文件和pdb文件。
  4. 将头文件目录、链接文件目录添加到VS工程中。头文件目录示例:C:\XXX\OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\win64\vc14\inc。链接文件目录示例:C:\XXX\OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\win64\vc14\lib
  5. 将生成的dll文件目录加入到环境变量Path中或者copy编译生成的所有dll文件和pdb文件到VS工程中的编译结果目录。
  6. 再次打开项目进行调试,按F11即可进入Open Cascade内部。

  图2 手动编译生成的dll文件目录

更新:上面第2步,现在不建议在Debug模式下编译,因为只要设置一下,Release模式下也是可以编译生成出pdb文件的,由于实测Release模式下编译的OCC速度更快,建议采用Release模式进行编译,具体设置方法如下:

OCCT项目右键——属性——配置属性——链接器——调试——生成调试信息——否改为Debug。然后再编译生成OCC。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值