2013-05-13 2 views
-2

У меня есть exe в C++, через него я использую файл jar через утилиту уровня JNI. как C++, так и Java имеют свои собственные функции ведения журнала, я столкнулся с уникальной проблемой, при регистрации в Java-модуле StackTraceElement дает значение -1 для вызова getLineNumber(), тогда как Classname, имя метода правильное, даже я пытался распечатать весь стек для каждого элемента StackTraceElement, получая значение getLineNumber как -1. не выясните основную причину. любой вход будет заметным.getLineNumber() из StackTraceElement дает значение -1

+0

Вы скомпилировать код Java в первую очередь? –

+0

Да, я скомпилировал базу java-кода, она не дает никаких ошибок, – user1808932

+0

Я постараюсь и дам вам знать, thanxs для ввода ur. – user1808932

ответ

2

Возможно, код был скомпилирован без отладочной информации. Из javac man page:

-g
Сформировать всю отладочную информацию, в том числе локальных переменных. По умолчанию генерируется только номер строки и информация о исходном файле.

-g: нет
Не генерировать отладочную информацию.

-g: {список ключевых слов}
Генерировать лишь некоторые виды отладочной информации, указанные через запятую список ключевых слов. Допустимые ключевые слова:
source Исходный файл отладочную информацию
lines Номер строки отладочной информации
vars Локальная информация переменной отладки

+0

thanxs для ввода, он работает, я включаю информацию об отладке в моем скрипте сборки ant и начинаю работать. – user1808932

Смежные вопросы