这篇文章以前写在163博客中,不知什么原因造成里面的图片缺失,最近一直有人问里面的配置图片,所以决定于此重新写一次,也算是对我以前工作的一个回顾。

 

因工作需要将java工程与c++工程混合编译调试,所以一直在网上搜寻java与C++的混合调试,但是一直未找到,所以只能自己摸索,终于被我弄成功了。

在Linux下,为了能混合调试java与C++代码,即能从java进入C++代码进行跟踪调试,现对eclipse设置如下:

1.       首先eclipse必须既能编译java代码,又能编译C++代码,现假设同一个eclipse已能同时单独编译java工程和C++工程;

2.       现在eclipse的workspace中已创建一个java工程“enterprise”和一个C++工程“Dijkstra”,其中java工程“enterprise”需要加载C++工程的动态库“libDijkstra.so”,单独运行C++工程生成动态库,然后将动态库“libDijkstra.so”放入java工程相应的位置(动态库的加载请查看相关文档),在你需要的地方设置断点;

3.       首先,运行java工程,右击所要运行的“.java”文件,出现如下图所示的选项,选择“Debug As—Java Application”,可以看到java文件开始Debug运行;

java c 混合编程 java和c++混合编程_debug

4.       然后运行C++工程“Dijkstra”,在工程名上右击出现如下图的选项,选择“Debug As—Debug Configurations”;

java c 混合编程 java和c++混合编程_java c 混合编程_02

5.       然后就会出现如下图所示的对话框,选择“C/C++ Attach to Application”,右击选择“new”选项;

java c 混合编程 java和c++混合编程_java_03

6.       进入new选项后会出现以下对话框,在对应的工程名处写上工程名“Dijkstra”,其中“Main”选项卡下的“C/C++ Application:”下填写你所需的动态库“Debug/libDijkstra.so”

java c 混合编程 java和c++混合编程_c++_04

“Debugger”选项卡填写按下图所示

java c 混合编程 java和c++混合编程_eclipse_05

7.       按上述顺序填好后,点击右下角的“Debug”按钮,跳出如下对话框,选择“java”,只会出现一个正在运行的java,如果出现多个说明你有没有关闭的java工程,最好是关闭多余的工程,否则无法弄清选择哪一个,点击“OK”按钮,就会进入你想要的Debug调试界面,剩下的就按你设置的断点进入跟踪调试了:

java c 混合编程 java和c++混合编程_java_06

 


希望对大家有帮助!


                                                                    ————记于2013.8.6