- 4,804
- 6,475
- Версия SA-MP
-
- 0.3.7 (R1)
- 0.3.7-R3
Данный плагин принудительно активирует, выключенный по умолчанию дамп модулей при краше SAMP. Таким образом при краше сборки будет проще найти виновника краша - адрес указанный в краше, будет в диапазоне между B и B+S.
Пример краша (сокращенный):
В данном примере краш произошел по адресу 0x50541206, этот адрес больше чем B (0x50000000) модуля plugin.asi, и меньше чем B+S (0x50000000+0x01000000=0x51000000) модуля plugin.asi. Значит краш произошел в plugin.asi.
В примере так же показан модуль samp.dll, он здесь для наглядности, что B зависит от того, когда был загружен модуль, и, если для модуля не указан большой адрес загрузки, который с наибольшей вероятностью будет свободен, то такой модуль будет отсортирован по B в порядке возрастания. Это значит, что имея большой адрес краша, поиск виновника стоит начинать с середины или конца, не тратя свое драгоценное время на сравнивание B с первыми модулями.
Исходник (GPL3): https://gitlab.com/prime-hack/samp/plugins/CrashMod
Пример краша (сокращенный):
Код:
SA-MP 0.3.7
Exception At Address: 0x50541206
Base: 0x10000000
<...>
Loaded modules:
<...>
samp.dll B: 0x10000000 S: 0x0021B1A8 (C:\SAMP\samp.dll)
<...>
plugin.asi B: 0x50000000 S: 0x01000000 (C:\SAMP\plugin.asi)
<...>
В данном примере краш произошел по адресу 0x50541206, этот адрес больше чем B (0x50000000) модуля plugin.asi, и меньше чем B+S (0x50000000+0x01000000=0x51000000) модуля plugin.asi. Значит краш произошел в plugin.asi.
В примере так же показан модуль samp.dll, он здесь для наглядности, что B зависит от того, когда был загружен модуль, и, если для модуля не указан большой адрес загрузки, который с наибольшей вероятностью будет свободен, то такой модуль будет отсортирован по B в порядке возрастания. Это значит, что имея большой адрес краша, поиск виновника стоит начинать с середины или конца, не тратя свое драгоценное время на сравнивание B с первыми модулями.
Исходник (GPL3): https://gitlab.com/prime-hack/samp/plugins/CrashMod
Вложения
Последнее редактирование: