Vb.net: exe läuft auf manchen PCs, auf manchen nicht
Hallo,
ein von mir geschriebenes vb.net-Programm läuft und funktioniert. Auf allen Rechnern, die alle gleich sind und die hier so rumstehen. Funktioniert eigentlich.
Das Problem ist, dass das Programm auf einem Rechner, natürlich dem relevanten, zuerst problemlos lief und tat, was es tun sollte, und nun nur noch ein bisschen was tut, dann aber die Verarbeitung (Backgroundworker) unter- oder abbricht.
Kann man zu den potentiellen Gründen dieses Verhaltens irgendetwas sagen, ohne den Code zu kennen? Werden bsp Settings nicht sauber gespeichert? Kann man einen PC vollständig von allen Rückständen des Programm reinigen (ein Setup wurde nicht durchgeführt, lediglich Settings werden gespeichert)?
Die Herausforderung ist, dass an meinem Rechner, sowohl im Debug-Modus als aus die EXE problemlos funktionieren, ich das Problem also nicht so einfach nachbilden kann....
Ich bin dankbar für jeden Ansatz...
Neugierige Grüße,
Andreas
ein von mir geschriebenes vb.net-Programm läuft und funktioniert. Auf allen Rechnern, die alle gleich sind und die hier so rumstehen. Funktioniert eigentlich.
Das Problem ist, dass das Programm auf einem Rechner, natürlich dem relevanten, zuerst problemlos lief und tat, was es tun sollte, und nun nur noch ein bisschen was tut, dann aber die Verarbeitung (Backgroundworker) unter- oder abbricht.
Kann man zu den potentiellen Gründen dieses Verhaltens irgendetwas sagen, ohne den Code zu kennen? Werden bsp Settings nicht sauber gespeichert? Kann man einen PC vollständig von allen Rückständen des Programm reinigen (ein Setup wurde nicht durchgeführt, lediglich Settings werden gespeichert)?
Die Herausforderung ist, dass an meinem Rechner, sowohl im Debug-Modus als aus die EXE problemlos funktionieren, ich das Problem also nicht so einfach nachbilden kann....
Ich bin dankbar für jeden Ansatz...
Neugierige Grüße,
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 267537
Url: https://administrator.de/forum/vb-net-exe-laeuft-auf-manchen-pcs-auf-manchen-nicht-267537.html
Ausgedruckt am: 12.04.2025 um 10:04 Uhr
24 Kommentare
Neuester Kommentar
Hallo Andreas,
[/OT]
Wenn du mit den VB.NET Applications-Settings arbeitest um Einstellungen zu speichern (damit meine ich My.Settings), dann würde ich erst mal die Config-Dateien deiner Anwendung aus dem AppData-Verzeichnis deiner Anwendung löschen (
Für andere Sachen bau in deine Applikation Try...Catch Konstrukte ein, um jegliche Fehler deiner Anwendungen abzufangen. Nur so kommst du deinem Problem auf die Schliche.
Dann fallen mir noch unterschiedliche NET-Framework-Patchlevel und Versionen ein.
Ansonsten ist das hier ohne jeglichen Code... du weist schon was
Grüße Uwe
und tat, was es tun sollte, und nun nur noch ein bisschen was tut,
[OT]der Satz hat mir ein Schmunzeln auf die Lippen gezaubert. So oder so ähnlich lauten auch immer die Antworten meiner Kunden auf meine Fragen. You made my day.. Kann man zu den potentiellen Gründen dieses Verhaltens irgendetwas sagen, ohne den Code zu kennen?
Glaskugel polier ...Wenn du mit den VB.NET Applications-Settings arbeitest um Einstellungen zu speichern (damit meine ich My.Settings), dann würde ich erst mal die Config-Dateien deiner Anwendung aus dem AppData-Verzeichnis deiner Anwendung löschen (
C:\Users\%username%\AppData\Roaming\[deineApp]\xxx.config
)Für andere Sachen bau in deine Applikation Try...Catch Konstrukte ein, um jegliche Fehler deiner Anwendungen abzufangen. Nur so kommst du deinem Problem auf die Schliche.
Dann fallen mir noch unterschiedliche NET-Framework-Patchlevel und Versionen ein.
Ansonsten ist das hier ohne jeglichen Code... du weist schon was
Grüße Uwe
Wie Colinardo schon schreibt:
Bau einen Schalter ein (Command Line Parameter oder Registry Value), mit welchem Du wahlweise einen Debugmodus aktivieren kannst. Dann lass das Programm bei aktiviertem Debugmodus alles loggen. "jetzt bin ich hier, jetzt mach ich das, huups - da kam ein fehler, jetzt bin ich hier .....". Das Lesen solcher u.U. sehr großen Logs ist dann u.U. mühselig, aber so kommst Du dann weiter.
E.
Bau einen Schalter ein (Command Line Parameter oder Registry Value), mit welchem Du wahlweise einen Debugmodus aktivieren kannst. Dann lass das Programm bei aktiviertem Debugmodus alles loggen. "jetzt bin ich hier, jetzt mach ich das, huups - da kam ein fehler, jetzt bin ich hier .....". Das Lesen solcher u.U. sehr großen Logs ist dann u.U. mühselig, aber so kommst Du dann weiter.
E.
Interessant ist, dass ich die My.Settings-Datei xxx.config nicht finden kann
Die muss nicht zwangsweise existieren, die gibt es nur wenn du dieses Feature auch nutzt Mehr dazu steht hier: Verwalten von Anwendungseinstellungen
die lautet dann eher user.config wenn es userspezifische Einstellungen die der User zur Laufzeit ändert.
Die Mails bzw die erstellten PDF-Dateien werden nicht mehr gedruckt, was bis kurz vorher noch funktionierte und an anderen PCs auch immer noch funktioniert.
Dann kannst du es ja auf einen Codebereich eingrenzen. Debugge dort penibelst, dann wirst du den Fehler schon finden. Das ist jetzt so speziell das man ohne Code So gibt meine Glaskugel im Moment leider nicht mehr her, und für Rumraterei habe ich im Moment dann doch leider keine Zeit übrig.
Aber dieses Machwerk möchte ich eigentlich niemandem zumuten
Dann findest du da sicher noch den Fehler, wenn es hier nicht vorzeigbar ist Gruß Uwe
meine Kristallkugel sagt in solchen Fällen:
- Degubebr anwerfen,
- Breakpoints auf verdächtigen Bereich Setzen
- Verdächtigen Bereich Schritt für schritt druchtracen.
Habe ich schon seit ein paar Jahren nicht mehr gemacht, soltle aber heutzutage auch noch funktioneren.
lks
Zitat von @ahstax:
wie gesagt, auf meinem PC läuft der Code sowohl im Debugger als auch als Release (in diesem Fall passt wohl
"leider").
wie gesagt, auf meinem PC läuft der Code sowohl im Debugger als auch als Release (in diesem Fall passt wohl
"leider").
du solst den debugge rja auch nciht dort anwerfen wo alles sauber äuft, sondern da, wo es knirscht.
lks
Zitat von @ahstax:
Hallo,
dann habe ich Dich missverstanden. Und weiß ehrlich gesagt nicht, was Du meinst...
Hallo,
dann habe ich Dich missverstanden. Und weiß ehrlich gesagt nicht, was Du meinst...
Auf der Kiste wo es das Problem gibt, den Debugger installieren und dann tracen. Es bringt ncihts das bei Dir zu tracen, weil es bei Dir ja läuft.
Ist so wie mit dem Auto: Wenn Du der Werstatt sagst, daß Auto macht bei Tempo 280 komische Geräusche, die aber nur auf der Landstraße testet, werden die den Fehler nie finden.
lks
Und natürlich nicht zu vergessen zu erwähnen der Remote-Debugger in Visual Studio.
Verfügbar in der kostenlosen Visual Studio Community 2013 Edition (Entspricht einer Professional Ausgabe)
Verfügbar in der kostenlosen Visual Studio Community 2013 Edition (Entspricht einer Professional Ausgabe)