Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как расшифровать дамп падения? / 20 сообщений из 20, страница 1 из 1
02.03.2018, 09:43
    #39609520
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Mac OS X
Модифицировал немного одбс драйвер постгреса, пускаю администратор драйверов в качестве тестового приложения, получаю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Process:               iODBC Administrator64 [2817]
Path:                  /Applications/iODBC/iODBC Administrator64.app/Contents/MacOS/iODBC Administrator64
Identifier:            org.iodbc.iODBCAdministrator64
Version:               iODBC Administrator64 version 3.52.12 (3.52.12)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           iODBC Administrator64 [2817]
User ID:               501

Date/Time:             2018-03-01 20:59:23.016 +0100
OS Version:            Mac OS X 10.13.3 (17D102)
Report Version:        12
Anonymous UUID:        EBAEDCCA-DFB6-7D4B-77DE-98E6D56BD279


Time Awake Since Boot: 6000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000068
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0x68:
--> 
    __TEXT                 0000000104715000-0000000104719000 [   16K] r-x/rwx SM=COW  /Applications/iODBC/iODBC Administrator64.app/Contents/MacOS/iODBC Administrator64

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_c.dylib             	0x00007fff5b869ea9 flockfile + 18
1   libsystem_c.dylib             	0x00007fff5b87292d vfprintf + 24
2   pgodbc.so                    	0x000000010a0aa248 mylog + 408
3   pgodbc.so                    	0x000000010a057e3a PGAPI_AllocEnv + 42
4   pgodbc.so                    	0x000000010a0a108c SQLAllocHandle + 76
5   org.iodbc.core                	0x0000000104746079 _iodbcdm_driverload + 1113
6   org.iodbc.core                	0x0000000104748345 SQLDriverConnect_Internal + 
...
Рейтинг: 0 / 0
02.03.2018, 12:00
    #39609585
д0kХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг Хупин1 libsystem_c.dylib 0x00007fff5b87292d vfprintf + 24


Ищите в параметрах этого вызова .
...
Рейтинг: 0 / 0
02.03.2018, 19:03
    #39609801
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
д0kХРолг Хупин1 libsystem_c.dylib 0x00007fff5b87292d vfprintf + 24


Ищите в параметрах этого вызова .

Да, собственно есть фпринтф в файл.
Но не исключаю, что память уже была запорота ранее, а это уже следствие.

Кстати, если обложить это место

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
try
{
///
}
catch(...)
{
}



на MacOS X поймает такого типа эксцепцию или рухнет, не глядя на лица?
...
Рейтинг: 0 / 0
02.03.2018, 19:15
    #39609808
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг ХупинНо не исключаю, что память уже была запорота ранее, а это уже следствие.

Тогда DrMemory тебе в руки и смотри где, кем и когда она порется.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
02.03.2018, 19:39
    #39609821
д0kХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг Хупинд0kХпропущено...


Ищите в параметрах этого вызова .

Да, собственно есть фпринтф в файл.
Но не исключаю, что память уже была запорота ранее, а это уже следствие.

Кстати, если обложить это место

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
try
{
///
}
catch(...)
{
}



на MacOS X поймает такого типа эксцепцию или рухнет, не глядя на лица?

Нет.

SIGSEGV пролетает мимо, со свистом, так, что лица не успеете заметить.
...
Рейтинг: 0 / 0
02.03.2018, 19:46
    #39609823
д0kХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
SIGSERV никогда неуловимый Джо.

Ликбез
Для ловли его друзей используются другие инструменты.
...
Рейтинг: 0 / 0
02.03.2018, 20:16
    #39609835
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
д0kХSIGSERV никогда неуловимый Джо.

Ликбез
Для ловли его друзей используются другие инструменты.


вот это я и подозревал...
Спасибо за ссылку
...
Рейтинг: 0 / 0
02.03.2018, 23:59
    #39609878
д0кХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг Хупинд0kХSIGSERV никогда неуловимый Джо.

Ликбез
Для ловли его друзей используются другие инструменты.


вот это я и подозревал...
Спасибо за ссылку

Это не ваш случай

Боян
SIGSERV никогда неуловимый Джо.
...
Рейтинг: 0 / 0
03.03.2018, 00:17
    #39609881
д0кХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Получение программой SIGSEGV ....
философский офтопик в аналогии с человеческой жизнью значит,
что она согрешила так,
что Бог грешника одновременно сжег и утопил.

Если вы будете этому сопротивляться, то ваша программа будет
30 лет умирать от рака в с страшных муках.
пожалейте свое детище,
пусть умерает с миром, а следующая версия не грешит.
...
Рейтинг: 0 / 0
03.03.2018, 09:42
    #39609914
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Dimitry SibiryakovРолг ХупинНо не исключаю, что память уже была запорота ранее, а это уже следствие.

Тогда DrMemory тебе в руки и смотри где, кем и когда она порется.


Запуск из командной строки
drmemory -- /path/to/my/app args to my app

Как запустить drmemory, если путь содержит пробелы?
...
Рейтинг: 0 / 0
03.03.2018, 12:34
    #39609970
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Кавычки.
...
Рейтинг: 0 / 0
03.03.2018, 15:26
    #39610025
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
maytonКавычки.

Приложение, которое хочу потестировать на предмет сегфаулта
/Applications/iODBC/" "iODBC Administrator64.app

Пишу так:
>./drmemory -- "/Applications/iODBC/" "iODBC Administrator64.app"


Ответ:
WARNING: this version of Mac OSX is not officially supported by Dr. Memory.

ERROR: unable to inject
...
Рейтинг: 0 / 0
03.03.2018, 17:00
    #39610053
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг Хупинthis version of Mac OSX is not officially supported by Dr. Memory.

Ну, значит, другие конкурирующие с ним продукты смотри. Valgrind, например. Ну или поменяй
версию на поддерживаемую. Или уже сдайся и отдай эту работу тому, кто лучше разбирается в
маках и программировании.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.03.2018, 08:46
    #39610149
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Dimitry SibiryakovРолг Хупинthis version of Mac OSX is not officially supported by Dr. Memory.

Ну, значит, другие конкурирующие с ним продукты смотри. Valgrind, например. Ну или поменяй
версию на поддерживаемую. Или уже сдайся и отдай эту работу тому, кто лучше разбирается в
маках и программировании.


я и сам разбираюсь
...
Рейтинг: 0 / 0
04.03.2018, 09:09
    #39610151
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
У меня такое впечатление, что перед тем как приложение реально грохнется память портится одним из вызовов
strcpy(), по своей сути стрёмная функция.

Как выловить место?
...
Рейтинг: 0 / 0
05.03.2018, 02:47
    #39610381
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
А чем "испорченная" память отличается от неиспорченной?
...
Рейтинг: 0 / 0
06.03.2018, 12:31
    #39611129
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
maytonА чем "испорченная" память отличается от неиспорченной?

тем, что она уже испорчена, например, записью за пределы выделенного участка
...
Рейтинг: 0 / 0
06.03.2018, 13:47
    #39611197
д0kХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг ХупинУ меня такое впечатление, что перед тем как приложение реально грохнется память портится одним из вызовов
strcpy(), по своей сути стрёмная функция.

Как выловить место?
Не функция портит память, а ее параметры, которыми вы заганеете
функцию в вынужденное состояние делать то что ей сказали.
...
Рейтинг: 0 / 0
06.03.2018, 14:05
    #39611207
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг ХупинУ меня такое впечатление, что перед тем как приложение реально грохнется память портится одним из вызовов
strcpy(), по своей сути стрёмная функция.

Как выловить место?

Очень возможно.
выловить известно, отладчиком.

Также можно запускать под valgrind, если это возможно (не всегда можно приложение в него втиснуть).

В любом случае ОЧЕНЬ поможет маленькое приложение REPRO(duction).
...
Рейтинг: 0 / 0
06.03.2018, 14:09
    #39611210
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как расшифровать дамп падения?
Ролг ХупинКак выловить место?

Ещё можешь погонять статические анализаторы кода разные, Viva там, clang-tidy
и прочие линтеры
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как расшифровать дамп падения? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]