2010-12-07 2 views
1

счетчик программ (ПК) имеет адрес текущей исполняемой команды или следующей инструкции в строке. для ARMV5, его первый случай.Нулевое значение счетчика программ

Я столкнулся с авариями, в которых значение ПК (R15) равно нулю. Мне было интересно, может ли кто-нибудь сказать мне о значении этого. И есть какой-то способ (какой-то другой регистр), чтобы узнать адрес текущей инструкции.

Любая помощь будет высоко оценена.

+0

Есть доступ к исходному коду? Какой язык? – 2010-12-07 06:41:09

ответ

3

Некоторые коды, вероятно, пытались вызвать нулевой указатель на функцию. Проверьте стек, чтобы узнать, откуда пришел вызов.

+0

В частности, на ARM, регистр ссылок (r14) обычно дает вам ПК вызывающего абонента. – davidg 2011-01-24 11:24:47

1

В общем случае (ARM-терминология) это будет префикс прервать. Средство cpu пытается прочитать (pre-fetch) инструкцию с адреса illgela, которая вызвала это. вы можете попытаться увидеть, как место tht mem стало invlid, чтобы узнать больше о причине!

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