C# Keine Quelle verfügbar - Events debuggen?

domidragon

Fleet Admiral
Registriert
Juli 2008
Beiträge
11.530
Huhu

Ich kämpfe gerade mit dem Debugger, der will mir keine Quelle angeben bei den Events.

Wie kann ich das lösen, umgehen, etc. Gibt doch sicher tricks, um die events zu debuggen?

Finde den Fehler nicht im GUI, es geht um selectedIndexChange events bei Dropdowns.
Der User soll per Artikelnummer oder Artikelbezeichnung den Artikel wählen können. Dazu gibts einfach 2 dropdowns die per event miteinander verknüpft sind.

Dazu sollen in den unteren dropdowns (4x für das kompatible zubehör) die listen entsprechend geladen werden.

Beim ersten Eintrag funktioniert das alles wunderbar, bei allen anderen in der Liste nicht -.-
Ohne debugger ist der fehler schwer auffindbar.

oder habt ihr eine alternative lösung, wie man das besser lösen könnte?

GUI basteln ist nicht mein ding -.-

danke

greez
 
Jeder Event Handler hat doch den Parameter "sender".
Das ist genau was du brauchst, nämlich das Objekt, das das Event gefeuert hat.

Setz dir am besten nen Breakpoint in den Code im Event Handler. Wenn dein Programm am Breakpoint angekommen ist, kannst du einfach die Maus über den "sender" Parameter halten und siehst dann die "Quelle" ;)
 
du hast mich falsch verstanden, bzw. habe ich es wohl zu undeutlich formuliert, wenn ich ein breakpoint im event setze, dann gelangt er an diesen, ich bekomme aber nur "keine quelle verfügbar" angezeigt (also sehe nicht mal den code). das debuggen funzt nicht, bzw. sehe ich nichts, weil angeblich keine quelle vorhanden sei. :)
 
Zuletzt bearbeitet:
Könnte sein, dass vorher schon eine Exception auftritt.
Denn normal ist das nicht, man braucht nicht irgendwelche Tricks um Events zu debuggen, das sollte auch so gehen^^

Poste doch mal ein bisschen Code, evtl. finde ich (oder jemand anders) ja den Fehler.
 
Wenn der Fehler z.B. aus einer eingebundenen dll kommen (für die du logischerweise in deinem Projekt keinen Code hast), dann kann dir der Debugger halt nix anzeigen.

Wenn du den Code hast, schau mal, ob er korrekt in das Projekt das ausgeführt wird eingebunden (Verweis) wurde.
 
Es ist mein eigener Code in der Klasse. Standard Form klasse halt und der selectedindexchange event kann man ja einfach abfangen.

das problem habe ich zwar gelöst (mit messagebox ausgaben -.-) aber wieso das event debugging ned geht würde mich trotzdem noch interessieren.

private void comboBoxLeuchtenArtNR_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBoxLeuchtenTyp.SelectedIndex != comboBoxLeuchtenArtNR.SelectedIndex)
{
LeuchteIndexChanged(comboBoxLeuchtenArtNR.Text);
comboBoxLeuchtenTyp.SelectedIndex = comboBoxLeuchtenArtNR.SelectedIndex;
}
}

beim ersten durchgang, quasi bei der initialisierung, funktioniert es ohne problemme da durch zu steppen.
wenn ich nachher per event auslösung da rein komme zum breakpoint, kommt eben keine quelle verfügbar. wenn ich auf assembly klicke, steht da auch nichts -.-

aufgerufen wird das ganze, wenn man in der dropbox halt den eitnrag ändert. funktionieren tut es, also funktional, nur kann ich halt nicht debuggen...

habe visual studio 2010 professional
 
Äh... also wenn es so ist wie du sagst, schließe ich mich dir in Unwissenheit an...

Das Event hängt direkt im Formular? Kein UserControl aus einem anderen Projekt oder so?
 
Ne der standardevent von der combobox, welches direkt im fenster hangt. da ist auch nicht viel mehr drin, ausser andere comboboxen...




Der einzige Grund, weshalb es nicht geht, kann ich mir daraus erklären, dass ich beim start ein programm starten muss. es ist schlussendlich ein Addin für AutoCAD. vlt. gibts da probleme...

hatte bisher aber keine derartigen probs...
 
Das ist echt seltsam. Sorry, mehr fällt mir da nicht ein - das muss eigentlich funzen ;)
 
Der einzige Grund, weshalb es nicht geht, kann ich mir daraus erklären, dass ich beim start ein programm starten muss. es ist schlussendlich ein Addin für AutoCAD. vlt. gibts da probleme...
Könnte gut sein..
Lass doch mal den Programmstart weg (wenn das möglich ist) und schau obs dann funktioniert?

In dem was du bis jetzt gepostet hast, seh ich auch nix, das den Fehler hervorrufen kann. :(

Wenn du willst, kannst du die Solution ja mal hochladen (oder mir per PM schicken), ich würd mir das dann mal anschauen wenn ich Zeit hab.
 
ohne autocad geht das nicht, weil man dann nicht in an die daten kommt, die man braucht :D das zu "simulieren", wäre zu aufwändig...

das projekt sollte bald fertig sein, daher habe ich mom. keine zeit dem weiter nach zu gehen(wie so oft) es funktioniert programmtechnisch, wieso das debuggen nicht geht bei den events, muss warten.

lass das tab mal offen, falls ich mal ne lösung finde, melde ich mich wieder... ;)
 
Hab den "fehler" gefunden, wohl besser eine Lösung :D

Autocad nutzt "Fibers", irgendwie beisst sich das, als ich in Autocad dann "nextfiberworld" auf 0 stellte, klappte das debuggen...

hier die quelle, wo ich es gefunden habe. hätte ich eigentlich dran denken sollen, kenne den blogger persönlich, er hat mich vor einiger zeit schon mal darauf hingewiesen, dass man bei problemen ohne erklärung einfach das fiberworld auf 0 stellen soll, vlt. klappt es dann. :D

http://through-the-interface.typepa...ilable-when-debugging-an-autocad-plug-in.html

für autocad API programmierung überigens das A und O dieser Blog, da es keine Doku selber zur API gibt, bzw. eine sehr schwache^^

greez
 
Zurück
Oben