2017-02-16 1 views
2

Я использую Haxe на некоторое время, и я отлаживаю с целью Windows (OpenFL).Как сделать FlashDevelop сообщение об ошибке и где это произошло с Haxe?

Когда я положил try/catch где-то просто говорит, например "Null object reference" - это не говорит, номер строки и класс, так что я должен держать положить следы, чтобы найти в какой строке он бросил ошибку.

Может кто-нибудь мне помочь?

ответ

2

Вам может понадобиться включить трассировку стека, добавив следующие определения в файл project.xml если вы собираете в режиме выпуска:

<haxedef name="HXCPP_STACK_LINE" /> 

Кроме того, вы не сможете поймать нулевых эталонные исключения или получить трассировки стека для них, если не определено следующее (по соображениям производительности):

<haxedef name="HXCPP_CHECK_POINTER" /> 

С этими двумя, вы должны увидеть трассировки стека в Output панели FlashDevelop в.

Вы можете найти хорошую информацию об этих флагах и отладке hxcpp вообще here. Вы также можете проверить библиотеку crashdumper.

+0

Я использую улов (e: динамический) { \t \t \t след (e); \t \t} и до сих пор я получаю только «MainDomain.hx: 218: Null Object Reference», являющийся mainDomain.hx: 218 линия catch ... я делаю что-то неправильно? –

+1

Вы можете просто исключить исключение, если хотите увидеть трассировку стека. Кроме того, вы можете использовать 'haxe.CallStack' для получения трассировки стека: https://gist.github.com/Gama11/adcc268fb00d3f442c969e54940db831 – Gama11

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