linux eclipse调试 linux运行eclipse

大家好,关于linux eclipse调试很多朋友都还不太明白,今天小编就来为大家分享关于linux运行eclipse的知识,希望对各位有所帮助!

eclipse进行远程调试的时候的出现下图问题时怎么解决

1、Linux中配置tomcat在catalina.sh中添加如下

CATALINA_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"(不要换行,要在同一行)

2、Window中修改 catalina,bat文件,添加:

Set“CATALINA_OPTS=-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

如图

参数说明:

-Xdebug:启用调试模式

-Xrunjdwp<sub-options>:加载JVM的JPDA参考实现库

transport=dt_socket:Socket连接,可选dt_shmem通过共享内存的方式连接到调试服务器

address=8000:调试服务器监听的端口

server=y:是否是服务器端,n为客户端

suspend=n:启动过程是否加载暂停,y为启动时暂停,方便调试启动过程

3、启动tomcat,看看tomcat是否启动成功,

如果启动成功,tomcat日志文件(catalina.out)中会有如下输入:

Listening for transport dt_socket at address: 8000

4、使用eclipse调试:

点击debug,就可进行调试了

剩下的就和普通调试一样了。断点直接在源代码中添加就行

5、可能出现的连接问题:

Failed to connect to remote VM. Connection refused.

Connection refused: connect。

出现如图所示的情况可能是已经建立了一个连接了。

解决方法:去debug透视途中,

找到点击

断开链接,就可以解决问题了。

但是按照上面的方法进行操作可能会有一些小问题,在远程服务器中更改Tomcat的配置文件catalina.sh之后第一次重启Tomcat时,一般是没有问题的(注意设置的DEBUG端口号不要和其它已有应用端口号冲突),但是在之后的重启过程中可能会出现下面的问题:

cd tomcat/bin

./shutdown.sh;./startup.sh; tailf../logs/catalina.out

ERROR: transport error 202: bind failed

ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)

JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

之所以出现这个问题,主要是因为,我们添加的DEBUG端口在关闭Tomcat时不能正常关闭,重启时又会重新开启,所以端口被占用,我们可以在关闭Tomcat之后利用下面的命令进行验证会发现,仍然有进程在占用着DEBUG端口。

lsof-i:44121(或者 netstat-na|grep 44121)

这个其实就是我们自己之前开启的。当然我们可以在每次shutdown之后手动kill掉这个进程,但是终归不是解决之道。我现在想到的比较好的方法是在catalina.sh中配置DEBUG端口时,把需要添加的那一行添加到start条件的开始出,并且在stop条件的开始出添加

debug_pid=lsof-i:44121| tail-n 1| awk-F""'{print$2}'

kill-9${debug_pid}

eclipse是什么

Eclipse是一种集成开发环境。

Eclipse是一个开源的开发工具平台,广泛应用于各种编程语言和开发领域。以下是详细的解释:

Eclipse的基本概念与功能

Eclipse最初是由IBM公司主导开发的一个软件开发平台。它提供了一个集成的环境,支持多种编程语言,包括Java、C、C++等。Eclipse的核心功能包括代码编辑、项目管理、调试、版本控制等,可以帮助开发者更高效地进行代码编写和测试。此外,Eclipse还具有强大的插件系统,允许开发者根据自己的需求扩展其功能。由于其强大的功能和灵活的扩展性,Eclipse在开发者社区中得到了广泛的应用和好评。

Eclipse的特点

Eclipse的特点主要表现在以下几个方面:

1.开放性:作为一个开源项目,Eclipse的源代码是公开的,开发者可以根据自己的需求进行定制和二次开发。

2.模块化:Eclipse采用模块化的设计思想,允许开发者根据需要选择安装相应的插件和组件,提高了灵活性。

3.跨平台性:Eclipse支持多种操作系统,包括Windows、Linux和Mac OS等。

4.强大的调试功能:Eclipse提供了强大的调试工具,可以帮助开发者更有效地发现和解决代码中的问题。

Eclipse的应用场景

Eclipse广泛应用于各种软件开发场景,尤其是Java开发。许多企业和开发者都使用Eclipse进行软件的开发和调试。此外,由于Eclipse的插件系统,它还可以应用于其他领域,如移动开发、网页开发等。

总的来说,Eclipse是一个功能强大、灵活且开源的集成开发环境,为开发者提供了丰富的开发工具和资源,是软件开发过程中的重要工具之一。

如何使用eclipse进行嵌入式Linux的开发

1、安装jdk

jdk(java development kit)即java开发包,其中包含了运行eclipse所需要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,所以需要安装sun公司的jre.首先从sun的网站上下载安装包jdk-6u7-linux-i586.bin,然后如下进行安装:

# mkdir-p/opt/java#./jdk-6u7-linux-i586.bin//执行自解压文件,生成目录# mv jdk1.6.0_07/opt/java//把目录移到/opt/java下# cd/opt/java# ln-s jdk1.6.0_07 jdk# mv/etc/alternatives/java/etc/alternatives/java.gnu# ln-s/opt/java/jdk/bin/java/etc/alternatives/java# export JAVA_HOME=/opt/java/jdk//设置环境变量

2、安装eclipse和cdt

从eclipse网站上下载安装包eclipse-SDK-3.4-linux-gtk.tar.gz和cdt-master-5.0.0.zip

# cd/opt# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz//解压生成eclipse目录# export PATH=/opt/eclipse:$PATH# mkdir-p/opt/cdt# cd/opt/cdt# unzip cdt-master-5.0.0.zip# cp-r plugins/*/opt/eclipse/plugins/# cp-r features/*/opt/eclipse/features/

二、创建c/c++工程

假设已经在linux上安装好了arm交叉工具链,下面介绍如何创建、交叉编译和调试c/c++工程,进入eclipse安装路径后,运行eclipse。

创建c工程

使用缺省的Linux GCC工具链

进入c/c++界面

添加源代码文件1

添加源代码文件2

编辑代码

设置工程属性,指定交叉工具链1

设置工程属性,指定交叉工具链2

设置工程属性,指定交叉工具链3

编译工程

已生成arm平台可执行代码

配置调试选项

设置Debugger和 GDB debugger选项

设置连接类型为TCP,目标板的ip地址和调试端口号。端口号任意指定,通常大于1024(避免和系统所用端口号冲突)

在开发板上运行程序,格式如上图所示:gdbserver是交叉调试辅助程序;192.168.0.150是主机的ip地址;1234是调试端口号,和eclipse调试选项里设定的端口号要一致

点击Debug,进入调试界面

执行到断点

eclipse的调试界面和操作和在windows下开发类似。

所需开发工具及环境

虚拟机Linux:Fedora 9

交叉编译工具:arm-linux-gcc-3.4.1.tar.bz2

集成开发工具:Eclipse(Linux安装包中自带的,安装Linux时选中安装)

安装ARM交叉编译器

1.安装。其实很简单,就是将下载的arm-linux-gcc-3.4.1.tar.bz2解压到Linux根目录即可(因为解压后已经包含了/usr/local目录,所以要解压到根目录),如下命令:

tar-jxvf arm-linux-gcc-3.4.1.tar.bz2-C/

解压后的目录/usr/local/arm/3.4.1/

2.设置环境变量。就是把交叉编译器的路径设置到系统环境变量里面去。

echo$PATH

查看现有的环境变量

如果只想临时添加交叉编译器的环境变量(注:临时添加的系统重启或注销后又没有了),只需在命令行输入如下命令:

export PATH=$PATH:/usr/local/arm/3.4.1/bin

如果想这个环境变量永久的添加到系统的环境变量中,则你只需把这个命令添加到/root/.bashrc文件的最后一行即可(这个文件是隐藏文件,你要在文件浏览器中单击查看菜单,勾选显示隐藏文件才能看到)

3.测试建立的交叉编译环境。新建一个c程序,文件名:test.c,如下:

#include<stdio.h>int main(void){ printf("Hellow world!\n"); return 0;}

进行交叉编译,如下:

arm-linux-gcc-o test test.c

将交叉编译好的目标文件test下载到ARM开发板中并运行,如下:

./test

输出结果为:

Hellow world!

用集成开发工具Eclipse来开发嵌入式应用程序

双击Eclipse图标启动Eclipse

设置Eclipse的工作空间,就是选个目录,单击OK

启动后的主界面

开始新建一个应用程序工程

选择新建一个C工程,单击Next

给工程取个名字,这里我就叫test_app;然后选择工程类型,我选择了个Hellow world C工程模版,单击Next

填写作者、版权等信息,单击Next

没什么选的,点击Finish

单击Yes

新建好的项目工程

展开左边的源代码目录,双击打开主函数。这里只是输出一句"Hello World!!!",你可以做一些其他复杂的应用

单击Project菜单,去掉Build Automatically的勾选,因为勾选的话,每次修改一个地方工程都会自动进行编译

打开工程的属性对话框进行编译选项的设置

我们的应用程序最终要到嵌入式arm上运行,这里就要把gcc改成arm-linux-gcc编译器,当然前提是你要在你的开发主机上先安装arm-linux-gcc

C连接器也要改成arm-linux-gcc

这里的Libraries是设置你的应用程序中用到的库文件,比如应用程序中用到了线程类,则这里在上面添加pthread这个库,下面就添加这个库的路径。如果应用程序没用到任何库文件就不用管了

选中左侧的工程名,右键,在弹出的菜单中选择Build Project编译工程

编译好后的工程,目标文件在Debug目录下

阅读剩余
THE END