consoledevФорум

коды ошибок под псп

Страницы: 1 2 3 Следующая »
#0
14:27, 2 июня 2006

есть ли где описание кодов ошибок?

вот Cause    - 00000018 - это чего случилось?

Exception - Bus error (instr)
EPC      - 0326C560
Cause    - 00000018
Status    - 20008603
BadVAddr  - 00000000
zr:00000000 at:0008FF00 v0:089B08E0 v1:089B08E8
a0:09084300 a1:08B6EB90 a2:089B09C8 a3:00000150
t0:000000E0 t1:08B6E9C8 t2:089B0878 t3:089B0000
t4:882E9928 t5:00003E0C t6:889704A4 t7:00008600
s0:08F78234 s1:09082290 s2:090A9B50 s3:090A95D8
s4:090A95C0 s5:08AE6488 s6:08AE6484 s7:DEADBEEF
t8:00000000 t9:0890B010 k0:00000000 k1:00000000
gp:089B8F10 sp:882E9938 fp:882E99E0 ra:089020DC

#1
15:23, 2 июня 2006

Хрен разберешь. Стандарный алгоритм такой.

1) Ловишь interrupt.

2) Делаешь dump своего ELF модуля.

3) Ищешь по offset код в дампе.

4) Находишь этот код в своих исходниках и правишь.

Но как минимум 90% собственных ошибок правятся в обход этих операций с thinking и логированию на стеке входов-выходов.

#2
15:24, 2 июня 2006

Сделать dump можно с cygwin. Вечером могу вспомнить как, если интересно.

#3
16:15, 2 июня 2006

По строке "BadVAddr  - 00000000" предполагаю, что была попытка доступа по NULL pointer.

#4
16:23, 2 июня 2006

neteraser

интересно

Димка

самое смешное что игра себе работает, а потом я случаем заметил что залогирована ошибка-  и никаких критических вылетов...шутка ли - доступ по нулевому поинтеру....откудава - хз

#5
16:44, 2 июня 2006

bada

Вспомни о treads :)
У тебя в потоке может возникнуть exception, но другие при этом работают.
Это нормально для PSP ,  там оооочень хороший thread managment

#6
17:14, 2 июня 2006

bada
Возможно, статья http://www.dtf.ru/articles/read.php?id=37058 (переложенная под PSP, естественно), поможет что-то прояснить :)

#7
19:33, 2 июня 2006

bada
psp-objdump -S game/game.prx >> game.s

И смотришь по offset.

#8
12:50, 5 июня 2006

neteraser


гм а я не юзал prx это нада лоадер к нему? что то к вам на свн попасть не могу(((

#9
12:58, 5 июня 2006

bada
> гм а я не юзал prx это нада лоадер к нему? что то к вам на свн попасть не могу(((

1) для psp-objdump - prx\elf все-равно, насколько я помню.

2) про SVN спроси KVaks или const.

#10
13:04, 5 июня 2006

neteraser

я вобщем как написал makefile где делается pbp и патч 1.50 , так больше и не прикосался к нему....а тут какието prx и elf и там говорят много интересного, а я и не знал o.0

тоесть я из elf вытаскиваю дамп и смотрю по оффсет где прокол...так что ли?

тоесть строка
psp_strip test.elf -o test_strip.elf

вырезает из test.elf в test_strip.elf все недебагное, а в test.elf осталась вся дебагная инфа? а в pbp идет
test_strip.elf , я правильно понимаю?

#11
1:44, 6 июня 2006

bada
смотри комментарии к статье "Hello world"

#12
12:38, 6 июня 2006

Padawan

я их и смотрел, вот спрашиваю правильноли я их понял?

#13
13:53, 6 июня 2006

bada
Про psp-strip ты не совсем правильно понял. Она вообще может тебе любую секцию вырезать, если ты об этом попросишь. Но в данном случае она патчит (видимо убирает оттуда какие-то адреса) relocation tables в твоем исходном elf (они там в конце) и напрочь срезает debug symbols. Я не вникал в то что именно она там изменяет, но в принципе не обязательно ею вообще пользоваться.

#14
16:30, 6 июня 2006

так по какому оффсету смотреть в данном случае ???
тоесть при дизасме в какой адрес нужно пальцем ткнуть?

Страницы: 1 2 3 Следующая »
consoledevФорум

Тема в архиве.