Insight不能更改端口(port)的几种解决办法

 

最近打算把开发环境转换到Linux上去,一步一步学习,搭建GDB调试环境。首先使用虚拟机linux上的GDB配合主机windows上的JLinkGDBServer调试程序。

昨天安装insight,insight的界面好像在我的ubuntu上面有问题,不能使用tab键更改选中的焦点,最重要的是居然不能更改tcp连接的端口。

经过一番试验,我找到了如下几种方法来解决这个问题。

 

 

 

1 使用GDB命令:

Insight可以直接使用GDB的命令行来控制调试,使用如下命令来连接server:

target remote ip:port

Insight不能更改端口(port)的几种解决办法_第1张图片

 

 

2 JLinkGDBServer命令行启动

JLinkGDBServer在命令行下启动时可以指定端口:

JLinkGDBServer -port 1000

嫌命令行启动麻烦?做个批处理文件放在桌面,直接双击和快捷方式启动差不多。

 

 

 

3 端口映射

端口映射(Port Mapping/Port Forwarding)有点类似管道,可以把输入、输出一个端口的内容转发到其它的端口上去。网络管理中采用端口映射的方法可以实现从Internet 到局域网内部机器的特定端口服务的访问。

Windows/Linux下实现此功能的软件都不少,如PortTunnel、PortMap等,以PortMap为例:

增加一个如下的端口映射,PortMap就会把本机1000端口上的接收到的内容转发到本机的2331端口上去,用虚拟机的insight连接192.168.146.1的1000端口相当于在连接2331端口

 

 

 

4 编译时指定端口

这个方法来自http://blog.csdn.net/ling1874/archive/2010/01/20/5218271.aspx

“insight编译之前,要修改下源码,就是修改默认的端口,否则会是1000不能改的,因为我用的是jlink,其端口2331是不能修改的,所以只有修改gdb的端口了,找到/gdb/gdbtk/libaray/targetselection.itb,查找1000,将其修改为2331(jlink端口)这里还需要注意一点,如果你跟我一样一定要修改insight端口,一定要看仔细了,这是insight第一次编译安装,如果你以前安装过又删除了,再按照我这样修改编译安装 是不会有效的,除非你保证卸载的非常干净(其实源码make uninstall啥都没有写),否则,你得重新安装系统了!”

 

要注意的是targetselection.itb有两个地方有1000,我第一次只改了一个,结果编译之后还是1000,改了第二个之后重新编译覆盖安装变成了2331。

另外我经验是可以不卸载,直接覆盖安装端口也会被改变。而不像上文提到的那样要重装系统。

 

Insight不能更改端口(port)的几种解决办法_第2张图片

 

 

附:编译安装Insight的注意点

系统 Ubuntu 9.10

编译器 gcc 4.4.1

arm工具链 arm-none-linux-gnueabi 4.4.3

 

1 Insight依赖于以下三个文件:libx11-dev  libncurses5-dev  libc6-dev,如果没有安装,编译时会得到一堆错误。

 

2 去掉insight-6.8-1/gdb目录下Makefile文件中的-Werror(或者在编译时指定--disable-werror)。

gcc的-Werror参数指定严格检查编译环境,使用它会使gcc认为警告是错误。如下:

cc1: warnings being treated as errors

.././gdb/cli/cli-cmds.c: In function ‘pwd_command’:

.././gdb/cli/cli-cmds.c:323: error: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result

make[2]: *** [cli-cmds.o] Error 1

make[2]: Leaving directory `/home/flg/insight/gdb'

make[1]: *** [all-gdb] Error 2

make[1]: Leaving directory `/home/flg/insight'

make: *** [all] Error 2

 

 

20110401更新:

Insight的配置文件是当前用户目录下的.gdbtkinit,可以用文本编辑器可以直接编译其中的配置,更改Insight的设置:

 

Insight不能更改端口(port)的几种解决办法_第3张图片

 

你可能感兴趣的:(虚拟机,ubuntu,gcc,makefile,文本编辑,Warnings)