крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 28.08.17 12:08
Оценка:
привет!

есть программка, написанная с использованием Qt5, и использующая QtWebKit.
эта же программа отлично работает в linux и в OSX, но стабильно крэшится в венде. изначально думал, что проблема в сломанном ABI при использовании MinGW-W64 QtWebKit сборки от автора, и решил собрать проект с использованием msvc2015 — проблема осталась.

вопрос в том, как при использовании msvc2015 получить стек вызовов?
момент еще и в том, что я установил msvc2015 build tool, в котором нет IDE и дебагера. какой дебагер можно использовать для задачи?

спасибо.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: крэшится программа
От: Mr.Delphist  
Дата: 28.08.17 13:46
Оценка:
Здравствуйте, niXman, Вы писали:

X>вопрос в том, как при использовании msvc2015 получить стек вызовов?

X>момент еще и в том, что я установил msvc2015 build tool, в котором нет IDE и дебагера. какой дебагер можно использовать для задачи?

А почему не Community Edition? Тогда можно стартануть из-под Студии и получить всю нутрянку (переменные, стек и т.п.)
Re[2]: крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 28.08.17 13:48
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

MD>А почему не Community Edition? Тогда можно стартануть из-под Студии и получить всю нутрянку (переменные, стек и т.п.)

я не думал, что мне понадобится дебагер. мне нужно было просто собрать проект...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: крэшится программа
От: IID Россия  
Дата: 28.08.17 13:56
Оценка: +3
Здравствуйте, niXman, Вы писали:

X>вопрос в том, как при использовании msvc2015 получить стек вызовов?


программно: dbghelp API (StackWalk, etc.)
интерактивно: windbg

X>момент еще и в том, что я установил msvc2015 build tool, в котором нет IDE и дебагера. какой дебагер можно использовать для задачи?


windbg
kalsarikännit
Re[2]: крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.08.17 11:09
Оценка:
Здравствуйте, IID, Вы писали:

IID>windbg

установил и пытаюсь разобраться, как им пользоваться %)

запускаю свою бажную программу, и вижу такое:
ModLoad: 5c8b0000 5c904000   C:\msys64\home\nixman\client\debug\Qt5Sqld.dll
(468.b88): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=0c470000 edx=0008dd18 esi=fffffffe edi=00000000
eip=779d0ed4 esp=0026f43c ebp=0026f468 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
ntdll!LdrpDoDebuggerBreak+0x2c:
779d0ed4 cc              int     3

но из этого мне ничего не понятно...

смотрю стек вызовов и вижу такое:
 # ChildEBP RetAddr  
00 0026f468 779b0fc7 ntdll!LdrpDoDebuggerBreak+0x2c
01 0026f5e4 77979eb5 ntdll!LdrpInitializeProcess+0x12ce
02 0026f634 77969889 ntdll!_LdrpInitialize+0x78
03 0026f644 00000000 ntdll!LdrInitializeThunk+0x10

понятней не стало %)

подскажите плиз, что я делаю не так?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: крэшится программа
От: rumit7  
Дата: 29.08.17 11:24
Оценка: 15 (1) +1
Здравствуйте, niXman, Вы писали:

X>смотрю стек вызовов и вижу такое:

X>
X> # ChildEBP RetAddr  
X>00 0026f468 779b0fc7 ntdll!LdrpDoDebuggerBreak+0x2c
X>01 0026f5e4 77979eb5 ntdll!LdrpInitializeProcess+0x12ce
X>02 0026f634 77969889 ntdll!_LdrpInitialize+0x78
X>03 0026f644 00000000 ntdll!LdrInitializeThunk+0x10
X>

X>понятней не стало %)

X>подскажите плиз, что я делаю не так?


If you run the application under a debugger, there is an automatic breakpoint as soon as the process starts. This breakpoint gives you the opportunity to set further breakpoints before the process begins executing. If you don't like it, there is usually an option in the debugger to ignore the initial default breakpoint.


то?

UPD.

Вот здесь вроде подробнее про first chance exception
WinDbg Kata 001: Division By Zero on App Startup
Отредактировано 29.08.2017 11:31 rumit7 . Предыдущая версия .
Re[3]: крэшится программа
От: std.denis Россия  
Дата: 29.08.17 11:29
Оценка: +1
X>00 0026f468 779b0fc7 ntdll!LdrpDoDebuggerBreak+0x2c
X>01 0026f5e4 77979eb5 ntdll!LdrpInitializeProcess+0x12ce
X>подскажите плиз, что я делаю не так?

Всё так. Процесс инициализировался и брякнулся в отладчик, ждет дальнейших указаний.
Может всё-таки поставить студию? Или хотя бы взять что-то типа OllyDbg/x64dbg
Re: крэшится программа
От: kov_serg Россия  
Дата: 29.08.17 11:30
Оценка:
Здравствуйте, niXman, Вы писали:

X>привет!


X>есть программка, написанная с использованием Qt5, и использующая QtWebKit.

X>эта же программа отлично работает в linux и в OSX, но стабильно крэшится в венде. изначально думал, что проблема в сломанном ABI при использовании MinGW-W64 QtWebKit сборки от автора, и решил собрать проект с использованием msvc2015 — проблема осталась.

X>вопрос в том, как при использовании msvc2015 получить стек вызовов?

X>момент еще и в том, что я установил msvc2015 build tool, в котором нет IDE и дебагера. какой дебагер можно использовать для задачи?

X>спасибо.


http://rsdn.org/forum/flame.comp/6541534.1
Автор: b0r3d0m
Дата: 03.09.16


x64dbg.com, ida, apimon2
windbg — это унылый ужоснах
Re[2]: крэшится программа
От: IID Россия  
Дата: 29.08.17 12:34
Оценка: +2
Здравствуйте, kov_serg, Вы писали:

_>windbg — это унылый ужоснах


И это говорит нам одепт буханки, а стало быть и gdb Вот уж где уныние и ужас.
kalsarikännit
Re: крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.08.17 14:33
Оценка: 2 (1)
разобрался.

и вот в чем было дело.
собрал zlib используя msvc2015. как именно собирать — не знал, и посему полез читать win32/Makefile.msc. в этом файлике описано несколько вариантов сборки:
# Usage:
#   nmake -f win32/Makefile.msc                          (standard build)
#   nmake -f win32/Makefile.msc LOC=-DFOO                (nonstandard build)
#   nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj"               (use ASM code, x86)
#   nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"  (use ASM code, x64)

я выбрал тот, который (use ASM code, x86)

спасибо дебагеру что ткнул меня в функцию _inflate_fast, которая описана в inffas32.asm. происходил access violation в этой строке.

пересобрал с исчпользованием варианта (standard build) — все ок.


всем спасибо, вопрос закрыт.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: крэшится программа
От: kov_serg Россия  
Дата: 29.08.17 15:51
Оценка:
Здравствуйте, IID, Вы писали:

IID>Здравствуйте, kov_serg, Вы писали:


_>>windbg — это унылый ужоснах


IID>И это говорит нам одепт буханки, а стало быть и gdb Вот уж где уныние и ужас.

Кто бы говорил.
Re[4]: крэшится программа
От: IID Россия  
Дата: 29.08.17 17:12
Оценка:
Здравствуйте, kov_serg, Вы писали:

IID>>И это говорит нам одепт буханки, а стало быть и gdb Вот уж где уныние и ужас.

_>Кто бы говорил.

Я буханку считаю говном. Совершенно искренне.
kalsarikännit
Re[5]: крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.08.17 18:00
Оценка:
Здравствуйте, IID, Вы писали:

IID>Я буханку считаю говном. Совершенно искренне.


о чем речь?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[6]: крэшится программа
От: IID Россия  
Дата: 29.08.17 19:39
Оценка:
Здравствуйте, niXman, Вы писали:

IID>>Я буханку считаю говном. Совершенно искренне.


X>о чем речь?


kalsarikännit
Re[7]: крэшится программа
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.08.17 20:20
Оценка:
Здравствуйте, IID, Вы писали:

IID>

во-первых — все относительно.
во-вторых — на домашней машине — линукс, вендус только для танчиков.
в-третьих — при использовании линукс подобных вопросов у меня не возникает.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[8]: крэшится программа
От: IID Россия  
Дата: 30.08.17 00:09
Оценка:
Здравствуйте, niXman, Вы писали:

X>во-первых — все относительно.

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

зачем ты мне это пишешь ?
kalsarikännit
Re[5]: крэшится программа
От: kov_serg Россия  
Дата: 30.08.17 07:13
Оценка:
Здравствуйте, IID, Вы писали:

IID>Здравствуйте, kov_serg, Вы писали:


IID>>>И это говорит нам одепт буханки, а стало быть и gdb Вот уж где уныние и ужас.

_>>Кто бы говорил.

IID>Я буханку считаю говном. Совершенно искренне.

Мы можете считать linux чем угодно, это абсолютно ни на что не влияет
Отредактировано 30.08.2017 7:13 kov_serg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.