Дебуг проблем

17 отговора 0 прегледа
#1

Дебуг проблем

Нещо ми се скапа май системата и не мога да дебъгвам качествено, някой срещал ли е такъв проблем?
Става дума за дебъгване на нейтив приложение, което зарежда няколко длл-та, за част от които сорсовете са при мен, другите са затворени. при пускане с Ф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-то, което го е заредило.

Отговор
в отговор на klapaucius #2

Re: Дебуг проблем

добрите програмисти никога не дебъгват; за тази работа има клиенти.

Отговор
в отговор на jeffty #3

Re: Дебуг проблем

Аз принципно искам да мога, иначе, естествено, че не дебъвам - щом се билдне веднъж, веднага се комитва с отвлечен коментар и отива в прадъкшъна. Този начин на работа има сериозни предимства - ако има маловажен бъг, клиента няма да го репортне и така се пести много време за писане на други бъгове. Ако е сериозен, има шанс да са оправи за няма и три месеца (като при това се появят не повече от 4 други бъга) и така клиента ще е впечатлен от високата сложност на това, което се прави и скорстта на реакцията.

Отговор
в отговор на klapaucius #4

Re: Дебуг проблем

а...ти искаш за пред клиентите да покажеш, че може да се дебъгва. в такъв случай съвета е винаги да се рестартира нещо и ако това не помогне, да се преинсталира нещо. може да е странно, но в 99% от случаите това помага. 1% са статистическа грешка, които и без това не са важни. и да не забравиш това време да го начислиш на клиента като "настройки".

Отговор
в отговор на klapaucius #5

Re: Дебуг проблем

иначе може да опиташ с некой от настройките де. примерно:
[линк]
милион още които може да цъкаш докато свърши работния ден.
другото е видиш дали некой друг процес не е заключил асемблито, че студиото е голем циганин тогава и не си казва дори с бой.
другото е ползваш стария номер на китайката и да набиеш един Системс.Диагностикс.Дебъгер у самия код и да чекаш да тресне (още известен на хлеб програмистите просто като дебъгер). малко ръчна работа, но га няма риба и цацата...
а може и просто да теглиш една, инсталираш новото студио и ако и там не работи, поне да се радваш на шарения и се бориш с новите менюта.

Отговор
в отговор на jeffty #6

Re: Дебуг проблем



Това... Майкрософска философия ли е?

Иначе то според-зависи как е написан договора, де...



Soul is smarter
Отговор
в отговор на klapaucius #7

Re: Дебуг проблем

Нямам си на идея как да ти помогна.



Soul is smarter
Отговор
в отговор на jeffty #8

Re: Дебуг проблем

То студиото е преинсталирано. Нещо се омаза преди време с инсталацията на някакъв тул, който деинсталирах и после реинсталирах едното студио. Проблемите с дебъгването вероятно са от тогава.
И тъй като различни дебъгери се държат по един и същ начин, изглежда проблемът не е в настройки на някой конкретен, а по-скоро от нещо системно.
Може и вирус да е, знам ли.
Имам си и уъркараунд за дебъгване, но ми се ще да работи както трябва. Ако не - с уъркараунда става сносно, ще го преживея. Няма да преинсталирам цял уиндоус заради това.

Отговор
в отговор на klapaucius #9

Re: Дебуг проблем

Ами прасни си една виртуална машина (и VritualBox, и wmWare Player са фрий) няма да е ЦЯЛ windows - слагаш само OS-а, студиото и за 2 часа си в джаза. Не съм дебъгвал на виртуалка, де може да има някакви иширети ...

адски опщителен, соцялен и харесван чувек
Отговор
в отговор на WMC 4 #10

Re: Дебуг проблем

Това... Майкрософска философия ли е?
Иначе то според-зависи как е написан договора, де...


Хахахаааааа! Верно, че е техен патент!
-"Рестартирай и шъ съ упрай"!
-Ма аз не съм сейвнал

Отговор
в отговор на BullDog #11

Re: Дебуг проблем

Нема грижи никакви, нас сичките ни тестови боксове рънват на ESX.

Pain looks great on other people. That’s what they’re for.
Отговор
в отговор на BullDog #12

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.


Редактирано от Naki на

Отговор
в отговор на klapaucius #13

Re: Дебуг проблем

Има ли mixed-mode dll-и замесени?

Отговор
в отговор на 1.7miTXE #14

Re: Дебуг проблем

Може и да има, но са от "готовите" и не съм обръщал внимание. Студиото на "нативе" и "миксед" (или "ауто" ли беше?) дава един и същ резултат.

Отговор
в отговор на klapaucius #15

Re: Дебуг проблем

В отговор на:

Може и да има, но са от "готовите" и не съм обръщал внимание.




заслужава си да провериш. ако има да ги delay-load -ваш.

Отговор
в отговор на 1.7miTXE #16

Re: Дебуг проблем

з.еби, няма общо с никакви "точка нет-и" проблемът. нямаше да бачка на други компове, ако беше така.
дилей лоуда не е никакво решение, нито уъркараунд - изобщо не е опция. вярно, че може би ще може да се дебъгва, но то ще може да се дебъгва и ако го пренапиша на бейсик. разбираш, за какво иде реч - начина, по който се зарежда не мога да пипам, тъй като не става дума за домашния ми софтуер за наливане на лимонада.
на някакво чудо се надявах, но ще си карам така - както казах, имам уъркараунд - с някакъв ауто-дебъг в регистрито, който при пускане на ексето автоматично му закача дебъгер и така става номера.
инък - реалното решение е да се преинсталира нещо, може някакъв вирус да е хуукнал дебъзите, не знам.
все пак - благодаря за вниманието

Отговор
в отговор на klapaucius #17

Re: Дебуг проблем

Да им набиеш по едно CC в длл мейна? После ще си го патчнеш аут като брейкне.

Pain looks great on other people. That’s what they’re for.
Отговор
в отговор на Wipelicious #18

Re: Дебуг проблем

Това ми се видя извънредно хитро и го пробвах, макар да приключих вече с тази задача.
Резултатът: в редките случаи, когато се освятква и вижда зареждането на ДЛЛ-а (symbol loaded), всичко е ок. Това става при пускане с F5 или при първия опит за Attach to process след reboot.
В останалите случаи: пускам -> Attach to process -> в оутпут-а на студиото DLL-a не се вижда изобщо -> извиква се функцията, в която съм сложил __debugbreak() и оставам с пръст в уста, щото ме хвърля в дизасемблито. Все пак - повече от нищо, това поне е начин да сложа ръчен брекпойнт някъде и да го зяпам в дизасемблер :)

Отговор