使用--launcher.openFile进行Eclipse分段错误

时间:2013-08-07 10:58:45

标签: eclipse eclipse-plugin segmentation-fault

我正在运行(带有我自己的插件)并且--launcher.openFile选项处于活动状态:

/path/to/eclipse/eclipse -data /home/workspace --launcher.openFile myfile.ext

但是,Eclipse不是打开文件,而是立即崩溃(在显示启动图像之前)并将“Segmentation fault”写入终端。

知道可能导致此问题的原因或如何获得更有意义的错误消息?

3 个答案:

答案 0 :(得分:2)

由于相对路径名称,这是Eclipse中的一个错误。我已经分析了发生了什么。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=439459

答案 1 :(得分:0)

我遇到了完全相同的问题。我尝试用dbg调试核心转储,这是我发现的:

(gdb) backtrace 
#0  0xb75e01a6 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1  0xb773da12 in checkPath (path=0xbfe1b3bb "test.txt", programDir=0x0, reverseOrder=0) at ../eclipseCommon.c:532
#2  0xb7736b9e in parseArgs (pArgc=0xbfe19aa0, argv=0x99bb0f8) at ../eclipse.c:852
#3  0xb7735bcf in run (argc=5, argv=0x99bb0f8, vmArgs=0x0) at ../eclipse.c:407
#4  0x080490ee in main (argc=7, argv=0x99bb0f8) at ../eclipseMain.c:193

我认为唯一错误的是programDir=0x0,即有一个名为programDir的指针,其值为NULL。然后我试图调用我的RCP传递文件的完整路径,它工作。也许和你一样。

我还注意到,如果我在文件名后面提供另一个参数,则会发生同样的错误。

我在Ubuntu 13.04下使用Eclipse Kepler。

答案 2 :(得分:0)

这是该错误的解决方法,(使用 realpath 命令为文件打开提供绝对路径)

创建一个这样的启动器脚本:

#!/bin/bash
/path/to/eclipse/eclipse --launcher.openFile $(realpath "$@")