2011-02-04 8 views
0

MinGWとWindows XPの下でEclipse CDTを使用して、JNI準拠のDLLとしてエクスポートする小さなCプログラムを開発しています。Eclipse CDTのデバッグ起動時にjava.lang.IllegalArgumentExceptionがスローされる

Java呼び出しからプログラムをデバッグするのは簡単ではないので、プロジェクトに「デバッグ」設定を追加し、いくつかの機能をテストするメインメソッドを追加しました。それは内部Eclipseの問題であり、非常に多くのように思える

An internal error occurred during: "Launching NuanceWrapper.exe". 
java.lang.IllegalArgumentException 

:私はデバッグを起動すると

は、私はこの奇妙なのJavaエラーが発生します。

!ENTRY org.eclipse.core.jobs 4 2 2011-02-04 14:08:31.531 
!MESSAGE An internal error occurred during: "Launching Wrapper.exe". 
!STACK 0 
java.lang.IllegalArgumentException 
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.getBundles(PackageAdminImpl.java:571) 
    at org.eclipse.core.internal.runtime.InternalPlatform.getBundle(InternalPlatform.java:181) 
    at org.eclipse.core.runtime.Platform.getBundle(Platform.java:1416) 
    at org.springframework.ide.eclipse.core.BundleStateLocationVariableResolver.resolveValue(BundleStateLocationVariableResolver.java:32) 
    at org.eclipse.core.internal.variables.DynamicVariable.getValue(DynamicVariable.java:54) 
    at org.eclipse.cdt.internal.core.cdtvariables.EclipseVariablesVariableSupplier$EclipseVarMacro.loadValue(EclipseVariablesVariableSupplier.java:103) 
    at org.eclipse.cdt.internal.core.cdtvariables.EclipseVariablesVariableSupplier$EclipseVarMacro.getStringValue(EclipseVariablesVariableSupplier.java:90) 
    at org.eclipse.cdt.dsf.gdb.launching.LaunchUtils.getLaunchEnvironment(LaunchUtils.java:385) 
    at org.eclipse.cdt.dsf.gdb.launching.LaunchUtils.getGDBVersion(LaunchUtils.java:281) 
    at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.getGDBVersion(GdbLaunchDelegate.java:243) 
    at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugSession(GdbLaunchDelegate.java:129) 
    at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugger(GdbLaunchDelegate.java:83) 
    at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launch(GdbLaunchDelegate.java:72) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 

任意のアイデア問題何ができるか:私はの.metadataフォルダの.logファイルに例外のスタックトレースを得ましたか。自分のコードで何が間違っているのかを理解するためには、このデバッグ機能が本当に必要です。

ありがとうございました。

+0

一部のコードスニペットが問題の理解に役立つ場合があります – Raghuram

答えて

1

スタックトレースのさまざまなファイルのソースコードを調べました.CDTプロジェクトの設定に問題があるようです。ここで設定を確認して変更してください。

CDTビルド変数の1つが間違っているようです。 LaunchUtils.javaでは、行390、var.getStringValue()は名前と関連する値を含むこの変数(var)に値がnullであるため、問題を引き起こしています。

これが役に立ちます。

+0

問題が特定のプロジェクトにバインドされていないかと思います。基本的な "Hello World"プロジェクトを作成しようとしましたが、デバッグを開始したときに同じエラーがスローされました。 – Dunaril

+0

eclipse CDTをアンインストール/再インストールしようとしましたか?それは必ずしもプロジェクト変数の問題ではありませんが、eclipse変数... eclipse CDTとMinGWのどのバージョンを使用していますか? – Dalmas

+0

この問題は、実行時にコンテンツが計算される「動的変数」の日食に関連しています。この場合、その値がnullであるため、計算しようとすると例外がスローされます。そして、この変数はOSGi Bundles(〜= eclipse plugin)に関連しています...あなたのインストールには問題があります。もちろん、日食の内部問題も可能です。 – Dalmas

1

同じ問題がありました。例外スタックトレースから次の文字列:org.springframework.ide.eclipse.core.BundleStateLocationVariableResolver.resolveValueで

(BundleStateLocationVariableResolver.java:32)

は、SpringSourceのツールスイート(やSpring IDE考えに私を導きました)問題を引き起こす可能性があります。アンインストール後、問題はなくなりました。

これが役に立ちます。

関連する問題