Avatar billede rasmuzzen Nybegynder
06. juni 2007 - 17:24 Der er 12 kommentarer og
1 løsning

Spørge om vi er i debug mode eller i release

Spørgsmål flyttet fra vb..

Jeg kan ikke lige finde metoden til at checke om jeg kører i Debug eller i release i koden.

Skal have tildelt en sti til nogle filer.

Hvis jeg debugger er stien et, releasemode er den en anden.

Det er noget med #IF DEBUG men den fejler på det. Kan man ikke det i VB net ?.
Avatar billede a1a1 Novice
06. juni 2007 - 18:12 #1
if debugger.isattached then
'do this
else
'do that
end if

http://www.google.dk/search?hl=da&q=debugger.isattached&meta=
Avatar billede bernhof Nybegynder
06. juni 2007 - 20:25 #2
Svaret du har fået her http://www.eksperten.dk/spm/781770 er fyldestgørende!
Avatar billede bernhof Nybegynder
06. juni 2007 - 20:28 #3
Og jo, du kan godt i VB.NET:


Public Function GetPath() As String
#If DEBUG Then
  Return "c:\debug\fil.txt"
#Else
  Return "c:\release\fil.txt"
#End If
End Function


Hvilken fejl får du da?
Avatar billede rasmuzzen Nybegynder
07. juni 2007 - 12:18 #4
bernhof, jeg fpr en exception fejl i mit 2005 miljø.

a1's
Avatar billede rasmuzzen Nybegynder
07. juni 2007 - 12:20 #5
a1's virker perfekt.
Avatar billede bernhof Nybegynder
07. juni 2007 - 17:53 #6
Fordelen ved at bruge  #If DEBUG Then  i stedet for Debugger.IsAttached er, at når programmet kompileres i Release mode, ligger der ikke en debug-restkode:

#If DEBUG Then
  'kode her kommer ikke med i release udgave.
#Else
  'kode her kommer med i release udgave.
#End If

En anden ulempe ved Debugger.IsAttached er, at hvis du kører programmet i Debug mode, men UDEN debugger, vil a1's kode ikke virke (dvs. hvis du kører programmet med Ctrl+F5).

Da det virker hos mig, og hos de andre, som har foreslået denne løsning, må du gøre noget galt. Derfor vil jeg gerne vide helt nøjagtigt hvilken fejlmeddelelse du får, dvs. den tekst der følger med..
Avatar billede bernhof Nybegynder
07. juni 2007 - 17:58 #7
Lad mig omformulere; a1's kode fungerer selvfølgelig 100% korrekt - uden ulemper, men den er bare beregnet til en lidt anden situation, end den du efterspørger.
Avatar billede nielle Nybegynder
09. juni 2007 - 22:55 #8
Strengt taget er debugger.isattached ikke korrekt i forhold til det du spørger om. Den tjekker nemlig om der er koblet en debugger på dit program mens du køre det. Dette har imidlertid ikke direkte noget at gøre med om du kompilere som DEBUG eller RELEASE:

Du kan sagtens debugge på noget du har kompileret som RELEASE, og du har ikke automatisk en debugger koblet på selvom du kompilere som DEBUG.

Jeg kunne godt tænke mig at vide hvad det er for en exception du får med #If koden? Kan du give os et kode eksempel?
Avatar billede rasmuzzen Nybegynder
11. juni 2007 - 08:36 #9
Nej nielle du har ret. Det kan jeg godt se, jeg har prøvet det på 2 forskellige maskiner.
1) På vores server her er der ingen Debugger og den får den ønskede sti.
2) På min udviklings maskine, her returnerer den samme sti ved debug og release.

Så jeg må vist prøve den der IF Debug igen.

MVH
Avatar billede nielle Nybegynder
11. juni 2007 - 19:49 #10
Jeg prøvede bare at udspecificere bernhof's indlæg en smule mere.

Som sagt må du meget gerne fortælle hvad det er for en exception, og du må også meget gerne give et lille kode eksempel hvor det går galt.

Husk forresten at luk det oprindelige spørgsmål. :^)
Avatar billede rasmuzzen Nybegynder
12. juni 2007 - 08:45 #11
bernhof smid et svar så er der point. Har lige lavet et nyt lille projekt, der virkede din kode perfekt, ingen exceptions.

Det gamle projekt med exceptionen er ude i verden og arbejde, så det laver jeg ikke lige om nu
Avatar billede bernhof Nybegynder
12. juni 2007 - 10:19 #12
Ok. Men det kan jo godt være, at vi kan hjælpe med det gamle projekt også, hvis du fortæller hvilken exception der er tale om...
Avatar billede rasmuzzen Nybegynder
12. juni 2007 - 11:23 #13
Det virker nu. Hvad der var galt ed jeg ikke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester