[C#] dump files inlezen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
Ik heb een applicatie gemaakt die op een wazige manier vastloopt (eens per dag, per applicatie als er 10 applicaties 8 uur per dag draaien, heel zeldzaam dus). Ik kan er een dump van maken mbv Debug Diagnotic Tool.

Nu heb ik een dump file van een applicatie waar ik ook de C# source code en de de PDB files van heb. Is het ook mofgelijk op wat diepen dan de assembly code kan debuggen?

Ik heb debugging tools geprobeerd en hier krijg ik het niet voor elkaar. Met visual studio 2008 kom ik ook niet verder dan de assmbly code. Ik heb de nodige handleiding geprobeert om sysmbols (.pdb bestanden) er aan te koppelen, maar ik krijg het niet voor elkaar. Is het uberhaupt mogelijk?

hier staat hoe je er symbols aan kunt koppelen, maar ook dan krijg ik niets anders dan assembly code

[ Voor 8% gewijzigd door elgringo op 03-11-2009 16:24 ]

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

En debuggen met Windbg (zie ook de blogpostings van Tess, blogs.msdn.com/tess) helpt dat niet?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Wat bedoel je met vastlopen?
Crasht de applicatie; krijg je een livelock/deadlock, of andere meldingen?

Je kan met Application.UnhandledException (of iets dergelijks) excepties afvangen. Probeer eerst te kijken of er geen problemen in de managed code zijn, die zijn eenvoudiger te zoeken en op te lossen.
Je kan ook proberen met de remote debugger aan de slag te gaan.

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
windbg heb ik ook gebruikt (van de debugging tools) ik weet dat alles erin zit wat in nodig heb alleen kan ik de assembly niet vertalen naar iets zinvols.

Met vastlopen bedoel ik: De applicatie reageert niet meer, maar windows heeft er nog niet 'Regeaart niet' in de titelbalk gezet. CPU load is normaal, ik heb perflogs bekeken en netwerklogs en ook dat is normaal. Unhandled excepties zijn het niet; deze worden afgevangen en in een trace gegooid.
De software draait op 10 plekken al 2 jaar en dit is de eerste keer dat ik het zie. Voor 99% weet ik zeker dat het niet in de managed code zit. Hoe kun je remote debuggen?

Ik heb het vermoeden dat het in een file copy / file schrijf functie zit. Deze schrijft naar een netwerkschijf (vbandaar de netwerklogging) als een resultaat verwerkt moet worden.

Even ter verduidelijking:
Het is software die een file, van het mainframe, dagelijks ophaald (= copieren van een netwerkschijf). Er wordt gescant (voertuignummer) en aan de hand van dit voertuignummer wordt de file doorzocht op een opdracht. Deze opdracht wordt naar een tool verstuurd die een verschroeving (bout aandraaien) doet. Deze communicatie gaat via een 2de NIC (en ook in deze log geren wazige dingen) en zodra de verschroeving ok is wordt er een label geprint en een resultaat naar een netwerkschijf (via de 1ste NIC) geschreven.

EDIT: Ik ben nog wat verder met Windbg verder gegaan en kom nu een heel eind. (het leek orop dat hij de symbols niet had ingeladen) Nadat ik sos.dll ingeladen heb kom ik een heel eind.

[ Voor 6% gewijzigd door elgringo op 04-11-2009 09:21 ]

if broken it is, fix it you should