Дебуг проблем
17 отговора
0 прегледа
Дебуг проблем
Нещо ми се скапа май системата и не мога да дебъгвам качествено, някой срещал ли е такъв проблем?
Става дума за дебъгване на нейтив приложение, което зарежда няколко длл-та, за част от които сорсовете са при мен, другите са затворени. при пускане с Ф5 от студиото - всичко е ок. но при опит за "attach to process" се получават странни резултати. Неговите длл-и винаги ги показва като заредени, но част от моите не ги вижда - няма ги изобщо в modules.
1. ако се атачна, след като процесът е заредил всички длл-и ми показва само 1 от моите (а те всичките са заредени, това е сигурно).
2. ако се атачна веднага след стартиране, преди ми показва 5-6 длл-а от от моите, но пак не са всички. тези 5-6 са едни и същи всеки път.
3. ако рестартирам компа, пусна ексе-то и се атачна веднага, само 1-вия път всичко изглежда ок. следващи пускания вървят по варианти 1. и 2.
С две версии на визуалното студио и с WinDbg - ситуацията е една и съща, така че едва ли е от настройки някакви. По-скоро съм инсталирал някоя гадост, нещо се е счупило по системата, знам ли.
а, да, освен това
tasklist /M не показва проблемите длл-и, примерно не показва moiat.dll, макар да е зареден. но
tasklist /M moiat.dll показва .exe-то, което го е заредило.
Става дума за дебъгване на нейтив приложение, което зарежда няколко длл-та, за част от които сорсовете са при мен, другите са затворени. при пускане с Ф5 от студиото - всичко е ок. но при опит за "attach to process" се получават странни резултати. Неговите длл-и винаги ги показва като заредени, но част от моите не ги вижда - няма ги изобщо в modules.
1. ако се атачна, след като процесът е заредил всички длл-и ми показва само 1 от моите (а те всичките са заредени, това е сигурно).
2. ако се атачна веднага след стартиране, преди ми показва 5-6 длл-а от от моите, но пак не са всички. тези 5-6 са едни и същи всеки път.
3. ако рестартирам компа, пусна ексе-то и се атачна веднага, само 1-вия път всичко изглежда ок. следващи пускания вървят по варианти 1. и 2.
С две версии на визуалното студио и с WinDbg - ситуацията е една и съща, така че едва ли е от настройки някакви. По-скоро съм инсталирал някоя гадост, нещо се е счупило по системата, знам ли.
а, да, освен това
tasklist /M не показва проблемите длл-и, примерно не показва moiat.dll, макар да е зареден. но
tasklist /M moiat.dll показва .exe-то, което го е заредило.
Re: Дебуг проблем
добрите програмисти никога не дебъгват; за тази работа има клиенти.
Re: Дебуг проблем
Аз принципно искам да мога, иначе, естествено, че не дебъвам - щом се билдне веднъж, веднага се комитва с отвлечен коментар и отива в прадъкшъна. Този начин на работа има сериозни предимства - ако има маловажен бъг, клиента няма да го репортне и така се пести много време за писане на други бъгове. Ако е сериозен, има шанс да са оправи за няма и три месеца (като при това се появят не повече от 4 други бъга) и така клиента ще е впечатлен от високата сложност на това, което се прави и скорстта на реакцията.
Re: Дебуг проблем
а...ти искаш за пред клиентите да покажеш, че може да се дебъгва. в такъв случай съвета е винаги да се рестартира нещо и ако това не помогне, да се преинсталира нещо. може да е странно, но в 99% от случаите това помага. 1% са статистическа грешка, които и без това не са важни. и да не забравиш това време да го начислиш на клиента като "настройки".
Re: Дебуг проблем
иначе може да опиташ с некой от настройките де. примерно:
[линк]
милион още които може да цъкаш докато свърши работния ден.
другото е видиш дали некой друг процес не е заключил асемблито, че студиото е голем циганин тогава и не си казва дори с бой.
другото е ползваш стария номер на китайката и да набиеш един Системс.Диагностикс.Дебъгер у самия код и да чекаш да тресне (още известен на хлеб програмистите просто като дебъгер). малко ръчна работа, но га няма риба и цацата...
а може и просто да теглиш една, инсталираш новото студио и ако и там не работи, поне да се радваш на шарения и се бориш с новите менюта.
[линк]
милион още които може да цъкаш докато свърши работния ден.
другото е видиш дали некой друг процес не е заключил асемблито, че студиото е голем циганин тогава и не си казва дори с бой.
другото е ползваш стария номер на китайката и да набиеш един Системс.Диагностикс.Дебъгер у самия код и да чекаш да тресне (още известен на хлеб програмистите просто като дебъгер). малко ръчна работа, но га няма риба и цацата...
а може и просто да теглиш една, инсталираш новото студио и ако и там не работи, поне да се радваш на шарения и се бориш с новите менюта.
Re: Дебуг проблем
Това... Майкрософска философия ли е?
Иначе то според-зависи как е написан договора, де...
Soul is smarter
Re: Дебуг проблем
То студиото е преинсталирано. Нещо се омаза преди време с инсталацията на някакъв тул, който деинсталирах и после реинсталирах едното студио. Проблемите с дебъгването вероятно са от тогава.
И тъй като различни дебъгери се държат по един и същ начин, изглежда проблемът не е в настройки на някой конкретен, а по-скоро от нещо системно.
Може и вирус да е, знам ли.
Имам си и уъркараунд за дебъгване, но ми се ще да работи както трябва. Ако не - с уъркараунда става сносно, ще го преживея. Няма да преинсталирам цял уиндоус заради това.
И тъй като различни дебъгери се държат по един и същ начин, изглежда проблемът не е в настройки на някой конкретен, а по-скоро от нещо системно.
Може и вирус да е, знам ли.
Имам си и уъркараунд за дебъгване, но ми се ще да работи както трябва. Ако не - с уъркараунда става сносно, ще го преживея. Няма да преинсталирам цял уиндоус заради това.
Re: Дебуг проблем
Ами прасни си една виртуална машина (и VritualBox, и wmWare Player са фрий) няма да е ЦЯЛ windows - слагаш само OS-а, студиото и за 2 часа си в джаза. Не съм дебъгвал на виртуалка, де може да има някакви иширети ...
адски опщителен, соцялен и харесван чувек
адски опщителен, соцялен и харесван чувек
Re: Дебуг проблем
Това... Майкрософска философия ли е?
Иначе то според-зависи как е написан договора, де...
Хахахаааааа! Верно, че е техен патент!
-"Рестартирай и шъ съ упрай"!
-Ма аз не съм сейвнал
Иначе то според-зависи как е написан договора, де...
Хахахаааааа! Верно, че е техен патент!
-"Рестартирай и шъ съ упрай"!
-Ма аз не съм сейвнал
Re: Дебуг проблем
Нема грижи никакви, нас сичките ни тестови боксове рънват на ESX.
Pain looks great on other people. That’s what they’re for.
Pain looks great on other people. That’s what they’re for.
Re: Дебуг проблем
+1, добра идея! А става и с Microsoft WinXP Mode или Virtual PC, ама е по-бавен от тези 2те дето ти си дал. Аз ползвам VMware-то, макар и не за дебъг, а за тестване.
За вирусите, към оригиналния питащ - еми тествай със ей тези нещица:
1) SpyBot Search & Destroy.
2) SUPERAntiSpyware.
3) MalwareBytes AntiMalware.
4) Kaspersky Virus Removal Tool и/или Rescue Disk.
5) Hitman Pro.
За вирусите, към оригиналния питащ - еми тествай със ей тези нещица:
1) SpyBot Search & Destroy.
2) SUPERAntiSpyware.
3) MalwareBytes AntiMalware.
4) Kaspersky Virus Removal Tool и/или Rescue Disk.
5) Hitman Pro.
Редактирано от Naki на
Re: Дебуг проблем
Може и да има, но са от "готовите" и не съм обръщал внимание. Студиото на "нативе" и "миксед" (или "ауто" ли беше?) дава един и същ резултат.
Re: Дебуг проблем
В отговор на:Може и да има, но са от "готовите" и не съм обръщал внимание.
заслужава си да провериш. ако има да ги delay-load -ваш.
Re: Дебуг проблем
з.еби, няма общо с никакви "точка нет-и" проблемът. нямаше да бачка на други компове, ако беше така.
дилей лоуда не е никакво решение, нито уъркараунд - изобщо не е опция. вярно, че може би ще може да се дебъгва, но то ще може да се дебъгва и ако го пренапиша на бейсик. разбираш, за какво иде реч - начина, по който се зарежда не мога да пипам, тъй като не става дума за домашния ми софтуер за наливане на лимонада.
на някакво чудо се надявах, но ще си карам така - както казах, имам уъркараунд - с някакъв ауто-дебъг в регистрито, който при пускане на ексето автоматично му закача дебъгер и така става номера.
инък - реалното решение е да се преинсталира нещо, може някакъв вирус да е хуукнал дебъзите, не знам.
все пак - благодаря за вниманието
дилей лоуда не е никакво решение, нито уъркараунд - изобщо не е опция. вярно, че може би ще може да се дебъгва, но то ще може да се дебъгва и ако го пренапиша на бейсик. разбираш, за какво иде реч - начина, по който се зарежда не мога да пипам, тъй като не става дума за домашния ми софтуер за наливане на лимонада.
на някакво чудо се надявах, но ще си карам така - както казах, имам уъркараунд - с някакъв ауто-дебъг в регистрито, който при пускане на ексето автоматично му закача дебъгер и така става номера.
инък - реалното решение е да се преинсталира нещо, може някакъв вирус да е хуукнал дебъзите, не знам.
все пак - благодаря за вниманието
Re: Дебуг проблем
Да им набиеш по едно CC в длл мейна? После ще си го патчнеш аут като брейкне.
Pain looks great on other people. That’s what they’re for.
Pain looks great on other people. That’s what they’re for.
Re: Дебуг проблем
Това ми се видя извънредно хитро и го пробвах, макар да приключих вече с тази задача.
Резултатът: в редките случаи, когато се освятква и вижда зареждането на ДЛЛ-а (symbol loaded), всичко е ок. Това става при пускане с F5 или при първия опит за Attach to process след reboot.
В останалите случаи: пускам -> Attach to process -> в оутпут-а на студиото DLL-a не се вижда изобщо -> извиква се функцията, в която съм сложил __debugbreak() и оставам с пръст в уста, щото ме хвърля в дизасемблито. Все пак - повече от нищо, това поне е начин да сложа ръчен брекпойнт някъде и да го зяпам в дизасемблер :)
Резултатът: в редките случаи, когато се освятква и вижда зареждането на ДЛЛ-а (symbol loaded), всичко е ок. Това става при пускане с F5 или при първия опит за Attach to process след reboot.
В останалите случаи: пускам -> Attach to process -> в оутпут-а на студиото DLL-a не се вижда изобщо -> извиква се функцията, в която съм сложил __debugbreak() и оставам с пръст в уста, щото ме хвърля в дизасемблито. Все пак - повече от нищо, това поне е начин да сложа ръчен брекпойнт някъде и да го зяпам в дизасемблер :)