我正在运行eclipse(带有我自己的插件)并且--launcher.openFile
选项处于活动状态:
/path/to/eclipse/eclipse -data /home/workspace --launcher.openFile myfile.ext
但是,Eclipse不是打开文件,而是立即崩溃(在显示启动图像之前)并将“Segmentation fault”写入终端。
知道可能导致此问题的原因或如何获得更有意义的错误消息?
答案 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 "$@")