java.lang.IllegalArgumentException выдается при запуске отладки в Eclipse CDT - PullRequest
0 голосов
/ 04 февраля 2011

Я использую Eclipse CDT с MinGW и под Windows XP, чтобы разработать небольшую программу на C, экспортирующую себя как JNI-совместимую DLL.

Отладка программы с помощью вызовов Java не легка, и поэтому я добавил конфигурацию «Debug» в свой проект и основной метод, который тестирует некоторые функции.

Когда я запускаю отладку, я получаю эту странную Java ошибку:

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

Похоже, что это внутренняя проблема Eclipse. Я получил трассировку стека исключительной ситуации в файле .log папки .metadata:

!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)

Есть идеи, в чем может быть проблема? Мне действительно нужна эта функциональность отладки, чтобы понять, что не так в моем коде.

Спасибо за ваши ответы.

Ответы [ 2 ]

1 голос
/ 17 сентября 2011

Была такая же проблема. следующая строка из трассировки стека исключений:

at org.springframework.ide.eclipse.core.BundleStateLocationVariableResolver.resolveValue (BundleStateLocationVariableResolver.java:32)

привел меня к мысли, что SpringSource ToolSuite (или Spring IDE) может вызвать проблему. После удаления его и всех его компонентов проблема исчезла.

Надеюсь, это поможет.

1 голос
/ 08 февраля 2011

Я посмотрел исходный код различных файлов вашей трассировки стека, и кажется, что это проблема конфигурации вашего проекта CDT. Вы должны проверить настройки здесь и попытаться изменить их.

Одна из переменных сборки CDT, похоже, неверна. В LaunchUtils.java , строка 390, var.getStringValue () вызывает проблему, поскольку в этой переменной (var), содержащей имя и соответствующее значение, значение равно нулю.

Надеюсь, это поможет.

...