Verwendung / Debuggen von MFC-ActiveX
-
OH MANN !!!
Und da muss ich ewig Programmieren und suchen und machen und tun -
und dann ist es sooo einfach.
Wenn man nur immer wüßte, wie man sowas findet in der unendlichen Weiten des WWW oder der MSDN.
Ein Glück gibbs dieses Forum hier !!!
VIELEN DANK !!!!!!
-
Hallo. Leider zu früh gefreut.
Auf einem Testrechner geht es, auf meinem Produktivrechner nicht.
Beides Win XP, beide VS2005 und VB6, beides mal die gleichen Projekte.Wenn ich anhängen will, passiert folgendes:
Transport ist immer standard. Der Benutzer hat Admin-Rechte.
Wähle ich "Verwaltet Code", kann ich anhängen, HAltepunkte sehen normal aus, werden aber nicht angefahren.
Wähle ich Systemeigen und Verwaltet, kommt die Fehlermeldung: Anfügen an den Prozess "Zugriff verweigert" nicht möglich.
Wähle ich Systemeigen, kommt die Meldung: Anfügen an den Prozess "Der angeforderte Vorgang wird nicht unterstützt" nicht möglich.
Wähle ich Skript, kann ich mich anhängen, aber es ist wie bei Verwaltet: keine Funktion.Habe es mit ausgeschalteter Firewall versucht. auch nix. Muss ein Dienst laufen? Oder braucht der user bestimmte Rechte? Oder ist die IDE falsch eingestellt (unter Extras Optionen sind so gut wie alle Haken drin...)
Vielle3icht gibbs noch einen Rat? Danke ...
-
Hallo und Guten Morgen.
Ich komme einfach nicht weiter auf meinem Rechner.
Ich habe jetzt, auch mit VS2005, ein C#-Projekt angelegt, mein OCX auf eine Form gezogen und eine Windows-Exe erstellt. Diese kann ich starten, mein OCX funktioniert auch.
Ich kann mich, wenn ich im VS2005 mein OCX-Projekt geöffnet habe, an den Prozess (Automatisch, Verwaltet) des C#-EXE anhängen. Allerdings sind dann die Haltepunkte nicht erreichbar (die verändern ihre Farbe in brauner Rand, weißer Inhalt, gelbes Dreieck). Das gleiche, wenn ich meinem OCX-Projekt in den Einstellungen "Debug" die C#-EXE angebe und F5 drücke.
Irgendwas geht doch da schief, auf dm PC oder? Aber was? Hat damit schonmal jmand gekämpft (und gewonnen)?
Vielen Dank Euch ...
-
Hmm - Habe weng gegoogelt.
Wenn ich in meinem OXX-Projekt bin und mich an den Prozess angehängt habe, dann sehe ich unter Debug-Fenster-Module meine C#-EXE. Dort steht,dass die Symbole geladen wurden. Allerdings die Symboldatei von dem C#-Projekt. Aber die interessiert mich doch eigentlich gar nicht? Wie schaffe ich es, dass die Symboldatei von meinem OCX-Projkt geladen werden?
Ist das der Knackpunkt für die Misere?
Vielen Dank ...
-
Die PDB Datei muss vorhanden sein und vom aktuellen Build. Entweder liegt sie in dem Verzeichnis in dem auch der Build erfolgte, oderim selben Verzeichnis der OCS. Man kann eine PDB Datei mit den Symbolen auch nachladen (Siehe Module Fenster)
-
Vielen Dank erstmal für die Mühe.
Es ist die pdb von der EXE geladen, aber in der sind ja keine Debug-Symbole vom OCX.
Wo lade ich denn die PDB vom OCX nach? Also ich meine für welches Modul? Ich habe im Modulfenster nur Einträge, die sich auf das System oder meine EXE beziehen. Und bei keinem Modul kann ich, wenn ich die pdb von der OCX laden will, dies tun. Er sagt dann immer "Symboldatei stimmt nicht mit dem Modul überein". Zu welchem Modul gehört denn die OCX-PDB? Interop? AXInterop? Beides klappt nicht "stimmt nicht mit Modul überein"
DANKE schön ...
-
Oh Gott, dieses Problem stiehlt mir echt meine Zeit ;-(((
Habe jetzt komplett alles runtergeschmissen, was mit VS2005 zu tun hat. Habe dann eine neues sauberes VS2005 installiert - es ist das gleiche.
Habe mittlerweile herausgefunden, dass es auf einem anderen PC geht, wenn ich als Code "systemeigen" einstelle.
Auf meinem PC kommt, wenn ich An den Prozess anhängen sage, bei Systemeigen, dass dieser Vorgang nicht unterstützt wird. Wenn ich meine EXE als "öffnen mit" im Projekt hinterlege, mit systemeigen, dann macht er das zwar, er lädt sogar die richtige Symbol-Datei, aber meine HAltepunkte sind trotzdem als "nicht erreichbar" markiert. Und zwar alle.
Es sind die gleichen Projekte wie auf dem anderen Rechner. Ich kann zu keinem anderen Projekt mit "systemeigen" mich verbinden. Also schließe ich meine Projekte mal vollkommen aus, es muss etwas mit dem PC zu tun haben.
Aber was?
Ich würde mich über den rettenden Tip sehr freuen ...
Danke
-
Ich verstehe Dein Problem nicht.
Zu jeder DLL und EXE kann eine eigene PDB Datei existieren. Es muss die letzte sein, aus Deinem Build.
Wenn Du einen Release Build machst, musst Du auch die PDB erzeugen.
Im Debug Fenster Module, kannst Du eine PDB Datei nachladen.
Wenn die Version nicht stimmt, dann stimmt eben die Version nicht und es wird eine andere evtl. DLL geladen!PS: Eine Neuinstallation war absoluter Blödsinn und reine Zeitverschwednung. Das Problem hat damit nichts zu tun!
-
Das mit der Neuinstallation habe ich leider bemerkt ;-))
Also es wird genau die pdb geladen (wenn ich mit F5 debugge), die im debug-Verzeichnis ist, aber die Haltepunkte gehen nicht.
Das "An den Prozess anhängen" klappt gar nicht, da bringt er die Fehlermeldung
Anfügen an den Prozess "Der angeforderte Vorgang wird nicht unterstützt" nicht möglich.
Mit den gleichen Projekten geht es ja auf einem anderen PC ;-((
Aber vielen Dank dafür, dass Du Dir Gedanken machst

-
Dann ist die PDB Datei nicht identisch.
Du kanst für eine OCX/DLL in den Debug Einstellungen auch die EXE selbst angeben in der Dein OCX benötigt wird. Dann kannst Du auch einfach mit F5 debuggen.