Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

N° ligne

16 réponses
Avatar
Annie L.
Comment faire pour connaître le n° ligne dans une erreur en mode "Debug"

Pour le message = objException.message (Dim objException As Exception)

En VB 2003, nous avions cette information, mais je ne le trouve pas en VB
2005!

Merci de vos réponses!

10 réponses

1 2
Avatar
Gilles TOURREAU [MVP]
"Annie L." a écrit dans le message de
news:
Comment faire pour connaître le n° ligne dans une erreur en mode "Debug"

Pour le message = objException.message (Dim objException As Exception)

En VB 2003, nous avions cette information, mais je ne le trouve pas en VB
2005!

Merci de vos réponses!




Bonjour,

StackTrace st;
st = new StackTrace(InstanceException, true);

StackFrame sf;
sf = st.GetFrame(0);
sf.GetFileLineNumber();

NB : Il faut que les .pdb soient livrés avec votre exécutable...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Bonjour!
Pas évident! C'était beaucoup plus simple en VB 2003!

Il me donne une erreur dans "InstanceException" :
st = new StackTrace(InstanceException, true);

Vous avez écrit ce code en C# ?

Vous dites : NB : Il faut que les .pdb soient livrés avec votre exécutable...

Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai créé un
exécutable en mode "Release" ???
Ce qui n'était pas possible avant! Mais cela serait vraiment super !!!

Merci de votre aide!



"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Comment faire pour connaître le n° ligne dans une erreur en mode "Debug"
>
> Pour le message = objException.message (Dim objException As Exception)
>
> En VB 2003, nous avions cette information, mais je ne le trouve pas en VB
> 2005!
>
> Merci de vos réponses!


Bonjour,

StackTrace st;
st = new StackTrace(InstanceException, true);

StackFrame sf;
sf = st.GetFrame(0);
sf.GetFileLineNumber();

NB : Il faut que les .pdb soient livrés avec votre exécutable...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr




Avatar
Gilles TOURREAU [MVP]
"Annie L." a écrit dans le message de
news:
Bonjour!
Pas évident! C'était beaucoup plus simple en VB 2003!

Il me donne une erreur dans "InstanceException" :
st = new StackTrace(InstanceException, true);

Vous avez écrit ce code en C# ?

Vous dites : NB : Il faut que les .pdb soient livrés avec votre
exécutable...

Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai créé
un
exécutable en mode "Release" ???
Ce qui n'était pas possible avant! Mais cela serait vraiment super !!!

Merci de votre aide!



"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Comment faire pour connaître le n° ligne dans une erreur en mode
> "Debug"
>
> Pour le message = objException.message (Dim objException As
> Exception)
>
> En VB 2003, nous avions cette information, mais je ne le trouve pas en
> VB
> 2005!
>
> Merci de vos réponses!


Bonjour,

StackTrace st;
st = new StackTrace(InstanceException, true);

StackFrame sf;
sf = st.GetFrame(0);
sf.GetFileLineNumber();

NB : Il faut que les .pdb soient livrés avec votre exécutable...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr








Oups autant pour moi !

InstanceException est l'instance de l'exception que vous récupérez dans le
bloc Catch.

Dim st As StackTrace
st = New StackTrace(InstanceException, True)

Dim sf As StackFrame
sf = st.GetFrame(0)
sf.GetFileLineNumber()

Le .pdb est un fichier qui permet d'associer un n° de ligne de votre code VB
au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier est
indispensable par exemple, pour le débogage (le débogueur doit savoir durant
l'exécution de votre application à quelle ligne de code VB il se trouve, et
inversement).
Il est tout à fait possible de livrer les .pdb en Release, allez dans les
options de votre projet / Onglet Compiler / "Options avancées de compil...".
Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".

Faites cependant attention, les n° de lignes des exceptions offrent pour les
applications "très publiques" (Site Web par exemple), une aide très
précieuse pour les utilisateurs qui souhaiteraient trouver une faille dans
votre application... Pensez dans ce cas à ne pas afficher de message
d'exception à l'écran...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Il y a quelquechose que je ne comprends pas!
J'ai mis ce code dans un "Catch objException As Exception" et il me donne
comme erreur la ligne 0 !!!
Ai-je oublié quelquechose ????

Dim st As StackTrace
st = New StackTrace(objException, True)

Dim sf As StackFrame
sf = st.GetFrame(0)
sf.GetFileLineNumber()
Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être 1826



Merci!

"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Bonjour!
> Pas évident! C'était beaucoup plus simple en VB 2003!
>
> Il me donne une erreur dans "InstanceException" :
> st = new StackTrace(InstanceException, true);
>
> Vous avez écrit ce code en C# ?
>
> Vous dites : NB : Il faut que les .pdb soient livrés avec votre
> exécutable...
>
> Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
> Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai créé
> un
> exécutable en mode "Release" ???
> Ce qui n'était pas possible avant! Mais cela serait vraiment super !!!
>
> Merci de votre aide!
>
>
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message de
>> news:
>> > Comment faire pour connaître le n° ligne dans une erreur en mode
>> > "Debug"
>> >
>> > Pour le message = objException.message (Dim objException As
>> > Exception)
>> >
>> > En VB 2003, nous avions cette information, mais je ne le trouve pas en
>> > VB
>> > 2005!
>> >
>> > Merci de vos réponses!
>>
>>
>> Bonjour,
>>
>> StackTrace st;
>> st = new StackTrace(InstanceException, true);
>>
>> StackFrame sf;
>> sf = st.GetFrame(0);
>> sf.GetFileLineNumber();
>>
>> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>


Oups autant pour moi !

InstanceException est l'instance de l'exception que vous récupérez dans le
bloc Catch.

Dim st As StackTrace
st = New StackTrace(InstanceException, True)

Dim sf As StackFrame
sf = st.GetFrame(0)
sf.GetFileLineNumber()

Le .pdb est un fichier qui permet d'associer un n° de ligne de votre code VB
au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier est
indispensable par exemple, pour le débogage (le débogueur doit savoir durant
l'exécution de votre application à quelle ligne de code VB il se trouve, et
inversement).
Il est tout à fait possible de livrer les .pdb en Release, allez dans les
options de votre projet / Onglet Compiler / "Options avancées de compil...".
Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".

Faites cependant attention, les n° de lignes des exceptions offrent pour les
applications "très publiques" (Site Web par exemple), une aide très
précieuse pour les utilisateurs qui souhaiteraient trouver une faille dans
votre application... Pensez dans ce cas à ne pas afficher de message
d'exception à l'écran...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr




Avatar
Gilles TOURREAU [MVP]
"Annie L." a écrit dans le message de
news:
Il y a quelquechose que je ne comprends pas!
J'ai mis ce code dans un "Catch objException As Exception" et il me donne
comme erreur la ligne 0 !!!
Ai-je oublié quelquechose ????

Dim st As StackTrace
st = New StackTrace(objException, True)

Dim sf As StackFrame
sf = st.GetFrame(0)
sf.GetFileLineNumber()
Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être 1826



Merci!

"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Bonjour!
> Pas évident! C'était beaucoup plus simple en VB 2003!
>
> Il me donne une erreur dans "InstanceException" :
> st = new StackTrace(InstanceException, true);
>
> Vous avez écrit ce code en C# ?
>
> Vous dites : NB : Il faut que les .pdb soient livrés avec votre
> exécutable...
>
> Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
> Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai
> créé
> un
> exécutable en mode "Release" ???
> Ce qui n'était pas possible avant! Mais cela serait vraiment super !!!
>
> Merci de votre aide!
>
>
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message
>> de
>> news:
>> > Comment faire pour connaître le n° ligne dans une erreur en mode
>> > "Debug"
>> >
>> > Pour le message = objException.message (Dim objException As
>> > Exception)
>> >
>> > En VB 2003, nous avions cette information, mais je ne le trouve pas
>> > en
>> > VB
>> > 2005!
>> >
>> > Merci de vos réponses!
>>
>>
>> Bonjour,
>>
>> StackTrace st;
>> st = new StackTrace(InstanceException, true);
>>
>> StackFrame sf;
>> sf = st.GetFrame(0);
>> sf.GetFileLineNumber();
>>
>> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>


Oups autant pour moi !

InstanceException est l'instance de l'exception que vous récupérez dans
le
bloc Catch.

Dim st As StackTrace
st = New StackTrace(InstanceException, True)

Dim sf As StackFrame
sf = st.GetFrame(0)
sf.GetFileLineNumber()

Le .pdb est un fichier qui permet d'associer un n° de ligne de votre code
VB
au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier
est
indispensable par exemple, pour le débogage (le débogueur doit savoir
durant
l'exécution de votre application à quelle ligne de code VB il se trouve,
et
inversement).
Il est tout à fait possible de livrer les .pdb en Release, allez dans les
options de votre projet / Onglet Compiler / "Options avancées de
compil...".
Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".

Faites cependant attention, les n° de lignes des exceptions offrent pour
les
applications "très publiques" (Site Web par exemple), une aide très
précieuse pour les utilisateurs qui souhaiteraient trouver une faille
dans
votre application... Pensez dans ce cas à ne pas afficher de message
d'exception à l'écran...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr








Tous les .pdb de chaque Assembly sont bien présents dans le répertoire Debug
?

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Là vous me perdez!
Où vérifier ces fichiers?
Un gros manque de connaissance de ma part !!!!
Veuillez m'excusez!
Expliquez-moi S.V.P.

Merci!

"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Il y a quelquechose que je ne comprends pas!
> J'ai mis ce code dans un "Catch objException As Exception" et il me donne
> comme erreur la ligne 0 !!!
> Ai-je oublié quelquechose ????
>
>>Dim st As StackTrace
>> st = New StackTrace(objException, True)
>>
>> Dim sf As StackFrame
>> sf = st.GetFrame(0)
>> sf.GetFileLineNumber()
>>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être 1826
>
> Merci!
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message de
>> news:
>> > Bonjour!
>> > Pas évident! C'était beaucoup plus simple en VB 2003!
>> >
>> > Il me donne une erreur dans "InstanceException" :
>> > st = new StackTrace(InstanceException, true);
>> >
>> > Vous avez écrit ce code en C# ?
>> >
>> > Vous dites : NB : Il faut que les .pdb soient livrés avec votre
>> > exécutable...
>> >
>> > Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
>> > Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai
>> > créé
>> > un
>> > exécutable en mode "Release" ???
>> > Ce qui n'était pas possible avant! Mais cela serait vraiment super !!!
>> >
>> > Merci de votre aide!
>> >
>> >
>> >
>> > "Gilles TOURREAU [MVP]" wrote:
>> >
>> >> "Annie L." a écrit dans le message
>> >> de
>> >> news:
>> >> > Comment faire pour connaître le n° ligne dans une erreur en mode
>> >> > "Debug"
>> >> >
>> >> > Pour le message = objException.message (Dim objException As
>> >> > Exception)
>> >> >
>> >> > En VB 2003, nous avions cette information, mais je ne le trouve pas
>> >> > en
>> >> > VB
>> >> > 2005!
>> >> >
>> >> > Merci de vos réponses!
>> >>
>> >>
>> >> Bonjour,
>> >>
>> >> StackTrace st;
>> >> st = new StackTrace(InstanceException, true);
>> >>
>> >> StackFrame sf;
>> >> sf = st.GetFrame(0);
>> >> sf.GetFileLineNumber();
>> >>
>> >> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>> >>
>> >> Cordialement
>> >>
>> >> --
>> >> Gilles TOURREAU - MVP C#
>> >>
>> >>
>> >> S.A.R.L. P.O.S
>> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> http://www.pos.fr
>> >>
>> >>
>>
>>
>> Oups autant pour moi !
>>
>> InstanceException est l'instance de l'exception que vous récupérez dans
>> le
>> bloc Catch.
>>
>> Dim st As StackTrace
>> st = New StackTrace(InstanceException, True)
>>
>> Dim sf As StackFrame
>> sf = st.GetFrame(0)
>> sf.GetFileLineNumber()
>>
>> Le .pdb est un fichier qui permet d'associer un n° de ligne de votre code
>> VB
>> au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier
>> est
>> indispensable par exemple, pour le débogage (le débogueur doit savoir
>> durant
>> l'exécution de votre application à quelle ligne de code VB il se trouve,
>> et
>> inversement).
>> Il est tout à fait possible de livrer les .pdb en Release, allez dans les
>> options de votre projet / Onglet Compiler / "Options avancées de
>> compil...".
>> Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".
>>
>> Faites cependant attention, les n° de lignes des exceptions offrent pour
>> les
>> applications "très publiques" (Site Web par exemple), une aide très
>> précieuse pour les utilisateurs qui souhaiteraient trouver une faille
>> dans
>> votre application... Pensez dans ce cas à ne pas afficher de message
>> d'exception à l'écran...
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>


Tous les .pdb de chaque Assembly sont bien présents dans le répertoire Debug
?

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr





Avatar
Gilles TOURREAU [MVP]
"Annie L." a écrit dans le message de
news:
Là vous me perdez!
Où vérifier ces fichiers?
Un gros manque de connaissance de ma part !!!!
Veuillez m'excusez!
Expliquez-moi S.V.P.

Merci!

"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Il y a quelquechose que je ne comprends pas!
> J'ai mis ce code dans un "Catch objException As Exception" et il me
> donne
> comme erreur la ligne 0 !!!
> Ai-je oublié quelquechose ????
>
>>Dim st As StackTrace
>> st = New StackTrace(objException, True)
>>
>> Dim sf As StackFrame
>> sf = st.GetFrame(0)
>> sf.GetFileLineNumber()
>>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être
>>1826
>
> Merci!
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message
>> de
>> news:
>> > Bonjour!
>> > Pas évident! C'était beaucoup plus simple en VB 2003!
>> >
>> > Il me donne une erreur dans "InstanceException" :
>> > st = new StackTrace(InstanceException, true);
>> >
>> > Vous avez écrit ce code en C# ?
>> >
>> > Vous dites : NB : Il faut que les .pdb soient livrés avec votre
>> > exécutable...
>> >
>> > Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
>> > Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai
>> > créé
>> > un
>> > exécutable en mode "Release" ???
>> > Ce qui n'était pas possible avant! Mais cela serait vraiment super
>> > !!!
>> >
>> > Merci de votre aide!
>> >
>> >
>> >
>> > "Gilles TOURREAU [MVP]" wrote:
>> >
>> >> "Annie L." a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Comment faire pour connaître le n° ligne dans une erreur en mode
>> >> > "Debug"
>> >> >
>> >> > Pour le message = objException.message (Dim objException As
>> >> > Exception)
>> >> >
>> >> > En VB 2003, nous avions cette information, mais je ne le trouve
>> >> > pas
>> >> > en
>> >> > VB
>> >> > 2005!
>> >> >
>> >> > Merci de vos réponses!
>> >>
>> >>
>> >> Bonjour,
>> >>
>> >> StackTrace st;
>> >> st = new StackTrace(InstanceException, true);
>> >>
>> >> StackFrame sf;
>> >> sf = st.GetFrame(0);
>> >> sf.GetFileLineNumber();
>> >>
>> >> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>> >>
>> >> Cordialement
>> >>
>> >> --
>> >> Gilles TOURREAU - MVP C#
>> >>
>> >>
>> >> S.A.R.L. P.O.S
>> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> http://www.pos.fr
>> >>
>> >>
>>
>>
>> Oups autant pour moi !
>>
>> InstanceException est l'instance de l'exception que vous récupérez
>> dans
>> le
>> bloc Catch.
>>
>> Dim st As StackTrace
>> st = New StackTrace(InstanceException, True)
>>
>> Dim sf As StackFrame
>> sf = st.GetFrame(0)
>> sf.GetFileLineNumber()
>>
>> Le .pdb est un fichier qui permet d'associer un n° de ligne de votre
>> code
>> VB
>> au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier
>> est
>> indispensable par exemple, pour le débogage (le débogueur doit savoir
>> durant
>> l'exécution de votre application à quelle ligne de code VB il se
>> trouve,
>> et
>> inversement).
>> Il est tout à fait possible de livrer les .pdb en Release, allez dans
>> les
>> options de votre projet / Onglet Compiler / "Options avancées de
>> compil...".
>> Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".
>>
>> Faites cependant attention, les n° de lignes des exceptions offrent
>> pour
>> les
>> applications "très publiques" (Site Web par exemple), une aide très
>> précieuse pour les utilisateurs qui souhaiteraient trouver une faille
>> dans
>> votre application... Pensez dans ce cas à ne pas afficher de message
>> d'exception à l'écran...
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>


Tous les .pdb de chaque Assembly sont bien présents dans le répertoire
Debug
?

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr









Bonjour,

Les .pdb doivent être présent dans le même répertoire que l'exécutable. Il
doit en avoir 1 par assembly.
Vérifiez cette option dans vos projets :

>> Il est tout à fait possible de livrer les .pdb en Release, allez dans
>> les
>> options de votre projet / Onglet Compiler / "Options avancées de
>> compil...".
>> Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".





Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Vous dites : Vous devez choisir dans "Générer les infos de débogage" :
"pdb-only".
présentement, le choix dans cette liste est "Full" est-ce correct ou dois-je
choisir "pdb-only". ?
Vous dites aussi : dans le répertoire "Debug" est-ce là :
Dans mes options de mon projet, option "Compiler", "Chemin de sortie de la
génération = binx86Debug si oui, dans ce répertoire j'ai un fichier
nommé <nomDeMonProjet>.pdb (pour avoir le n° ligne lors d'une erreur) car
cela ne fonctionne pas du tout, il me donne toujours la ligne zéro (0).

Autre chose, vous dites : Pensez dans ce cas à ne pas afficher de message
d'exception à l'écran... Que voulez-vous dire par là ? exemple...!
J'ai une gestion d'erreur qui affiche le nom de mon formulaire, le nom de la
procédure/fonction le n° de ligne et le message d'erreur générer par
"Exception"

je commence plus à comprendre, cela va être plus simple que je le pensais!

Merci!


"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Là vous me perdez!
> Où vérifier ces fichiers?
> Un gros manque de connaissance de ma part !!!!
> Veuillez m'excusez!
> Expliquez-moi S.V.P.
>
> Merci!
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message de
>> news:
>> > Il y a quelquechose que je ne comprends pas!
>> > J'ai mis ce code dans un "Catch objException As Exception" et il me
>> > donne
>> > comme erreur la ligne 0 !!!
>> > Ai-je oublié quelquechose ????
>> >
>> >>Dim st As StackTrace
>> >> st = New StackTrace(objException, True)
>> >>
>> >> Dim sf As StackFrame
>> >> sf = st.GetFrame(0)
>> >> sf.GetFileLineNumber()
>> >>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être
>> >>1826
>> >
>> > Merci!
>> >
>> > "Gilles TOURREAU [MVP]" wrote:
>> >
>> >> "Annie L." a écrit dans le message
>> >> de
>> >> news:
>> >> > Bonjour!
>> >> > Pas évident! C'était beaucoup plus simple en VB 2003!
>> >> >
>> >> > Il me donne une erreur dans "InstanceException" :
>> >> > st = new StackTrace(InstanceException, true);
>> >> >
>> >> > Vous avez écrit ce code en C# ?
>> >> >
>> >> > Vous dites : NB : Il faut que les .pdb soient livrés avec votre
>> >> > exécutable...
>> >> >
>> >> > Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
>> >> > Est-ce que nous pourrons avoir la ligne de l'erreur lorsque j'aurai
>> >> > créé
>> >> > un
>> >> > exécutable en mode "Release" ???
>> >> > Ce qui n'était pas possible avant! Mais cela serait vraiment super
>> >> > !!!
>> >> >
>> >> > Merci de votre aide!
>> >> >
>> >> >
>> >> >
>> >> > "Gilles TOURREAU [MVP]" wrote:
>> >> >
>> >> >> "Annie L." a écrit dans le
>> >> >> message
>> >> >> de
>> >> >> news:
>> >> >> > Comment faire pour connaître le n° ligne dans une erreur en mode
>> >> >> > "Debug"
>> >> >> >
>> >> >> > Pour le message = objException.message (Dim objException As
>> >> >> > Exception)
>> >> >> >
>> >> >> > En VB 2003, nous avions cette information, mais je ne le trouve
>> >> >> > pas
>> >> >> > en
>> >> >> > VB
>> >> >> > 2005!
>> >> >> >
>> >> >> > Merci de vos réponses!
>> >> >>
>> >> >>
>> >> >> Bonjour,
>> >> >>
>> >> >> StackTrace st;
>> >> >> st = new StackTrace(InstanceException, true);
>> >> >>
>> >> >> StackFrame sf;
>> >> >> sf = st.GetFrame(0);
>> >> >> sf.GetFileLineNumber();
>> >> >>
>> >> >> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>> >> >>
>> >> >> Cordialement
>> >> >>
>> >> >> --
>> >> >> Gilles TOURREAU - MVP C#
>> >> >>
>> >> >>
>> >> >> S.A.R.L. P.O.S
>> >> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> >> http://www.pos.fr
>> >> >>
>> >> >>
>> >>
>> >>
>> >> Oups autant pour moi !
>> >>
>> >> InstanceException est l'instance de l'exception que vous récupérez
>> >> dans
>> >> le
>> >> bloc Catch.
>> >>
>> >> Dim st As StackTrace
>> >> st = New StackTrace(InstanceException, True)
>> >>
>> >> Dim sf As StackFrame
>> >> sf = st.GetFrame(0)
>> >> sf.GetFileLineNumber()
>> >>
>> >> Le .pdb est un fichier qui permet d'associer un n° de ligne de votre
>> >> code
>> >> VB
>> >> au n° de ligne de code MSIL généré dans votre exécutable... Ce fichier
>> >> est
>> >> indispensable par exemple, pour le débogage (le débogueur doit savoir
>> >> durant
>> >> l'exécution de votre application à quelle ligne de code VB il se
>> >> trouve,
>> >> et
>> >> inversement).
>> >> Il est tout à fait possible de livrer les .pdb en Release, allez dans
>> >> les
>> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> compil...".
>> >> Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".
>> >>
>> >> Faites cependant attention, les n° de lignes des exceptions offrent
>> >> pour
>> >> les
>> >> applications "très publiques" (Site Web par exemple), une aide très
>> >> précieuse pour les utilisateurs qui souhaiteraient trouver une faille
>> >> dans
>> >> votre application... Pensez dans ce cas à ne pas afficher de message
>> >> d'exception à l'écran...
>> >>
>> >> Cordialement
>> >>
>> >> --
>> >> Gilles TOURREAU - MVP C#
>> >>
>> >>
>> >> S.A.R.L. P.O.S
>> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> http://www.pos.fr
>> >>
>> >>
>>
>>
>> Tous les .pdb de chaque Assembly sont bien présents dans le répertoire
>> Debug
>> ?
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>
>>


Bonjour,

Les .pdb doivent être présent dans le même répertoire que l'exécutable. Il
doit en avoir 1 par assembly.
Vérifiez cette option dans vos projets :

>> >> Il est tout à fait possible de livrer les .pdb en Release, allez dans
>> >> les
>> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> compil...".
>> >> Vous devez choisir dans "Générer les infos de débogage" : "pdb-only".

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr




Avatar
Patrice
Bonjour, je dirais :

- soit tester dans la version de débogage sur le poste de développement

- j'avais jeté un oeil à ce point et j'avais vu aussi que les lignes
n'étaient pas forcément fiables (le PDB ne fournira pas forcément la ligne
exacte selon les optimisations faites par le compilateur dans le code en
mode release).

Au final je n'avais pas creusé plus avant, mon expérience étant que le
message et la pile des appels est généralement suffisante pour localiser le
problème suffisamment facilement. Eviter les routines trop longues peut
également aider (et est sans doute généralement une bonne pratique).

--
Patrice

"Annie L." a écrit dans le message de
news:
Vous dites : Vous devez choisir dans "Générer les infos de débogage" :
"pdb-only".
présentement, le choix dans cette liste est "Full" est-ce correct ou
dois-je
choisir "pdb-only". ?
Vous dites aussi : dans le répertoire "Debug" est-ce là :
Dans mes options de mon projet, option "Compiler", "Chemin de sortie de la
génération = binx86Debug si oui, dans ce répertoire j'ai un fichier
nommé <nomDeMonProjet>.pdb (pour avoir le n° ligne lors d'une erreur)
car
cela ne fonctionne pas du tout, il me donne toujours la ligne zéro (0).

Autre chose, vous dites : Pensez dans ce cas à ne pas afficher de message
d'exception à l'écran... Que voulez-vous dire par là ? exemple...!
J'ai une gestion d'erreur qui affiche le nom de mon formulaire, le nom de
la
procédure/fonction le n° de ligne et le message d'erreur générer par
"Exception"

je commence plus à comprendre, cela va être plus simple que je le pensais!

Merci!


"Gilles TOURREAU [MVP]" wrote:

"Annie L." a écrit dans le message de
news:
> Là vous me perdez!
> Où vérifier ces fichiers?
> Un gros manque de connaissance de ma part !!!!
> Veuillez m'excusez!
> Expliquez-moi S.V.P.
>
> Merci!
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message
>> de
>> news:
>> > Il y a quelquechose que je ne comprends pas!
>> > J'ai mis ce code dans un "Catch objException As Exception" et il me
>> > donne
>> > comme erreur la ligne 0 !!!
>> > Ai-je oublié quelquechose ????
>> >
>> >>Dim st As StackTrace
>> >> st = New StackTrace(objException, True)
>> >>
>> >> Dim sf As StackFrame
>> >> sf = st.GetFrame(0)
>> >> sf.GetFileLineNumber()
>> >>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être
>> >>1826
>> >
>> > Merci!
>> >
>> > "Gilles TOURREAU [MVP]" wrote:
>> >
>> >> "Annie L." a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonjour!
>> >> > Pas évident! C'était beaucoup plus simple en VB 2003!
>> >> >
>> >> > Il me donne une erreur dans "InstanceException" :
>> >> > st = new StackTrace(InstanceException, true);
>> >> >
>> >> > Vous avez écrit ce code en C# ?
>> >> >
>> >> > Vous dites : NB : Il faut que les .pdb soient livrés avec votre
>> >> > exécutable...
>> >> >
>> >> > Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
>> >> > Est-ce que nous pourrons avoir la ligne de l'erreur lorsque
>> >> > j'aurai
>> >> > créé
>> >> > un
>> >> > exécutable en mode "Release" ???
>> >> > Ce qui n'était pas possible avant! Mais cela serait vraiment
>> >> > super
>> >> > !!!
>> >> >
>> >> > Merci de votre aide!
>> >> >
>> >> >
>> >> >
>> >> > "Gilles TOURREAU [MVP]" wrote:
>> >> >
>> >> >> "Annie L." a écrit dans le
>> >> >> message
>> >> >> de
>> >> >> news:
>> >> >> > Comment faire pour connaître le n° ligne dans une erreur en
>> >> >> > mode
>> >> >> > "Debug"
>> >> >> >
>> >> >> > Pour le message = objException.message (Dim objException
>> >> >> > As
>> >> >> > Exception)
>> >> >> >
>> >> >> > En VB 2003, nous avions cette information, mais je ne le
>> >> >> > trouve
>> >> >> > pas
>> >> >> > en
>> >> >> > VB
>> >> >> > 2005!
>> >> >> >
>> >> >> > Merci de vos réponses!
>> >> >>
>> >> >>
>> >> >> Bonjour,
>> >> >>
>> >> >> StackTrace st;
>> >> >> st = new StackTrace(InstanceException, true);
>> >> >>
>> >> >> StackFrame sf;
>> >> >> sf = st.GetFrame(0);
>> >> >> sf.GetFileLineNumber();
>> >> >>
>> >> >> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>> >> >>
>> >> >> Cordialement
>> >> >>
>> >> >> --
>> >> >> Gilles TOURREAU - MVP C#
>> >> >>
>> >> >>
>> >> >> S.A.R.L. P.O.S
>> >> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> >> http://www.pos.fr
>> >> >>
>> >> >>
>> >>
>> >>
>> >> Oups autant pour moi !
>> >>
>> >> InstanceException est l'instance de l'exception que vous récupérez
>> >> dans
>> >> le
>> >> bloc Catch.
>> >>
>> >> Dim st As StackTrace
>> >> st = New StackTrace(InstanceException, True)
>> >>
>> >> Dim sf As StackFrame
>> >> sf = st.GetFrame(0)
>> >> sf.GetFileLineNumber()
>> >>
>> >> Le .pdb est un fichier qui permet d'associer un n° de ligne de
>> >> votre
>> >> code
>> >> VB
>> >> au n° de ligne de code MSIL généré dans votre exécutable... Ce
>> >> fichier
>> >> est
>> >> indispensable par exemple, pour le débogage (le débogueur doit
>> >> savoir
>> >> durant
>> >> l'exécution de votre application à quelle ligne de code VB il se
>> >> trouve,
>> >> et
>> >> inversement).
>> >> Il est tout à fait possible de livrer les .pdb en Release, allez
>> >> dans
>> >> les
>> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> compil...".
>> >> Vous devez choisir dans "Générer les infos de débogage" :
>> >> "pdb-only".
>> >>
>> >> Faites cependant attention, les n° de lignes des exceptions offrent
>> >> pour
>> >> les
>> >> applications "très publiques" (Site Web par exemple), une aide très
>> >> précieuse pour les utilisateurs qui souhaiteraient trouver une
>> >> faille
>> >> dans
>> >> votre application... Pensez dans ce cas à ne pas afficher de
>> >> message
>> >> d'exception à l'écran...
>> >>
>> >> Cordialement
>> >>
>> >> --
>> >> Gilles TOURREAU - MVP C#
>> >>
>> >>
>> >> S.A.R.L. P.O.S
>> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> http://www.pos.fr
>> >>
>> >>
>>
>>
>> Tous les .pdb de chaque Assembly sont bien présents dans le répertoire
>> Debug
>> ?
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>
>>


Bonjour,

Les .pdb doivent être présent dans le même répertoire que l'exécutable.
Il
doit en avoir 1 par assembly.
Vérifiez cette option dans vos projets :

>> >> Il est tout à fait possible de livrer les .pdb en Release, allez
>> >> dans
>> >> les
>> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> compil...".
>> >> Vous devez choisir dans "Générer les infos de débogage" :
>> >> "pdb-only".

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Avatar
Annie L.
Ce que j'aimerais avant tout, pouvoir afficher le n° ligne en mode Debug !!!

Dim st As StackTrace
>> >> >> st = New StackTrace(objException, True)
>> >> >>
>> >> >> Dim sf As StackFrame
>> >> >> sf = st.GetFrame(0)
>> >> >> sf.GetFileLineNumber()
>> >> >>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être
>> >> >>1826



Quelle erreur est-ce que je fais ????

Merci!


"Patrice" wrote:

Bonjour, je dirais :

- soit tester dans la version de débogage sur le poste de développement

- j'avais jeté un oeil à ce point et j'avais vu aussi que les lignes
n'étaient pas forcément fiables (le PDB ne fournira pas forcément la ligne
exacte selon les optimisations faites par le compilateur dans le code en
mode release).

Au final je n'avais pas creusé plus avant, mon expérience étant que le
message et la pile des appels est généralement suffisante pour localiser le
problème suffisamment facilement. Eviter les routines trop longues peut
également aider (et est sans doute généralement une bonne pratique).

--
Patrice

"Annie L." a écrit dans le message de
news:
> Vous dites : Vous devez choisir dans "Générer les infos de débogage" :
> "pdb-only".
> présentement, le choix dans cette liste est "Full" est-ce correct ou
> dois-je
> choisir "pdb-only". ?
> Vous dites aussi : dans le répertoire "Debug" est-ce là :
> Dans mes options de mon projet, option "Compiler", "Chemin de sortie de la
> génération = binx86Debug si oui, dans ce répertoire j'ai un fichier
> nommé <nomDeMonProjet>.pdb (pour avoir le n° ligne lors d'une erreur)
> car
> cela ne fonctionne pas du tout, il me donne toujours la ligne zéro (0).
>
> Autre chose, vous dites : Pensez dans ce cas à ne pas afficher de message
> d'exception à l'écran... Que voulez-vous dire par là ? exemple...!
> J'ai une gestion d'erreur qui affiche le nom de mon formulaire, le nom de
> la
> procédure/fonction le n° de ligne et le message d'erreur générer par
> "Exception"
>
> je commence plus à comprendre, cela va être plus simple que je le pensais!
>
> Merci!
>
>
> "Gilles TOURREAU [MVP]" wrote:
>
>> "Annie L." a écrit dans le message de
>> news:
>> > Là vous me perdez!
>> > Où vérifier ces fichiers?
>> > Un gros manque de connaissance de ma part !!!!
>> > Veuillez m'excusez!
>> > Expliquez-moi S.V.P.
>> >
>> > Merci!
>> >
>> > "Gilles TOURREAU [MVP]" wrote:
>> >
>> >> "Annie L." a écrit dans le message
>> >> de
>> >> news:
>> >> > Il y a quelquechose que je ne comprends pas!
>> >> > J'ai mis ce code dans un "Catch objException As Exception" et il me
>> >> > donne
>> >> > comme erreur la ligne 0 !!!
>> >> > Ai-je oublié quelquechose ????
>> >> >
>> >> >>Dim st As StackTrace
>> >> >> st = New StackTrace(objException, True)
>> >> >>
>> >> >> Dim sf As StackFrame
>> >> >> sf = st.GetFrame(0)
>> >> >> sf.GetFileLineNumber()
>> >> >>Msgbox(sf.GetFileLineNumber()) résultat = 0 qui devrait être
>> >> >>1826
>> >> >
>> >> > Merci!
>> >> >
>> >> > "Gilles TOURREAU [MVP]" wrote:
>> >> >
>> >> >> "Annie L." a écrit dans le
>> >> >> message
>> >> >> de
>> >> >> news:
>> >> >> > Bonjour!
>> >> >> > Pas évident! C'était beaucoup plus simple en VB 2003!
>> >> >> >
>> >> >> > Il me donne une erreur dans "InstanceException" :
>> >> >> > st = new StackTrace(InstanceException, true);
>> >> >> >
>> >> >> > Vous avez écrit ce code en C# ?
>> >> >> >
>> >> >> > Vous dites : NB : Il faut que les .pdb soient livrés avec votre
>> >> >> > exécutable...
>> >> >> >
>> >> >> > Qu'est ce qu'un ".pdb"? À quoi sert cette extension?
>> >> >> > Est-ce que nous pourrons avoir la ligne de l'erreur lorsque
>> >> >> > j'aurai
>> >> >> > créé
>> >> >> > un
>> >> >> > exécutable en mode "Release" ???
>> >> >> > Ce qui n'était pas possible avant! Mais cela serait vraiment
>> >> >> > super
>> >> >> > !!!
>> >> >> >
>> >> >> > Merci de votre aide!
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > "Gilles TOURREAU [MVP]" wrote:
>> >> >> >
>> >> >> >> "Annie L." a écrit dans le
>> >> >> >> message
>> >> >> >> de
>> >> >> >> news:
>> >> >> >> > Comment faire pour connaître le n° ligne dans une erreur en
>> >> >> >> > mode
>> >> >> >> > "Debug"
>> >> >> >> >
>> >> >> >> > Pour le message = objException.message (Dim objException
>> >> >> >> > As
>> >> >> >> > Exception)
>> >> >> >> >
>> >> >> >> > En VB 2003, nous avions cette information, mais je ne le
>> >> >> >> > trouve
>> >> >> >> > pas
>> >> >> >> > en
>> >> >> >> > VB
>> >> >> >> > 2005!
>> >> >> >> >
>> >> >> >> > Merci de vos réponses!
>> >> >> >>
>> >> >> >>
>> >> >> >> Bonjour,
>> >> >> >>
>> >> >> >> StackTrace st;
>> >> >> >> st = new StackTrace(InstanceException, true);
>> >> >> >>
>> >> >> >> StackFrame sf;
>> >> >> >> sf = st.GetFrame(0);
>> >> >> >> sf.GetFileLineNumber();
>> >> >> >>
>> >> >> >> NB : Il faut que les .pdb soient livrés avec votre exécutable...
>> >> >> >>
>> >> >> >> Cordialement
>> >> >> >>
>> >> >> >> --
>> >> >> >> Gilles TOURREAU - MVP C#
>> >> >> >>
>> >> >> >>
>> >> >> >> S.A.R.L. P.O.S
>> >> >> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> >> >> http://www.pos.fr
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >> >> Oups autant pour moi !
>> >> >>
>> >> >> InstanceException est l'instance de l'exception que vous récupérez
>> >> >> dans
>> >> >> le
>> >> >> bloc Catch.
>> >> >>
>> >> >> Dim st As StackTrace
>> >> >> st = New StackTrace(InstanceException, True)
>> >> >>
>> >> >> Dim sf As StackFrame
>> >> >> sf = st.GetFrame(0)
>> >> >> sf.GetFileLineNumber()
>> >> >>
>> >> >> Le .pdb est un fichier qui permet d'associer un n° de ligne de
>> >> >> votre
>> >> >> code
>> >> >> VB
>> >> >> au n° de ligne de code MSIL généré dans votre exécutable... Ce
>> >> >> fichier
>> >> >> est
>> >> >> indispensable par exemple, pour le débogage (le débogueur doit
>> >> >> savoir
>> >> >> durant
>> >> >> l'exécution de votre application à quelle ligne de code VB il se
>> >> >> trouve,
>> >> >> et
>> >> >> inversement).
>> >> >> Il est tout à fait possible de livrer les .pdb en Release, allez
>> >> >> dans
>> >> >> les
>> >> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> >> compil...".
>> >> >> Vous devez choisir dans "Générer les infos de débogage" :
>> >> >> "pdb-only".
>> >> >>
>> >> >> Faites cependant attention, les n° de lignes des exceptions offrent
>> >> >> pour
>> >> >> les
>> >> >> applications "très publiques" (Site Web par exemple), une aide très
>> >> >> précieuse pour les utilisateurs qui souhaiteraient trouver une
>> >> >> faille
>> >> >> dans
>> >> >> votre application... Pensez dans ce cas à ne pas afficher de
>> >> >> message
>> >> >> d'exception à l'écran...
>> >> >>
>> >> >> Cordialement
>> >> >>
>> >> >> --
>> >> >> Gilles TOURREAU - MVP C#
>> >> >>
>> >> >>
>> >> >> S.A.R.L. P.O.S
>> >> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> >> http://www.pos.fr
>> >> >>
>> >> >>
>> >>
>> >>
>> >> Tous les .pdb de chaque Assembly sont bien présents dans le répertoire
>> >> Debug
>> >> ?
>> >>
>> >> Cordialement
>> >>
>> >> --
>> >> Gilles TOURREAU - MVP C#
>> >>
>> >>
>> >> S.A.R.L. P.O.S
>> >> Le spécialiste en motoculture depuis + de 30 ans !
>> >> http://www.pos.fr
>> >>
>> >>
>> >>
>>
>>
>> Bonjour,
>>
>> Les .pdb doivent être présent dans le même répertoire que l'exécutable.
>> Il
>> doit en avoir 1 par assembly.
>> Vérifiez cette option dans vos projets :
>>
>> >> >> Il est tout à fait possible de livrer les .pdb en Release, allez
>> >> >> dans
>> >> >> les
>> >> >> options de votre projet / Onglet Compiler / "Options avancées de
>> >> >> compil...".
>> >> >> Vous devez choisir dans "Générer les infos de débogage" :
>> >> >> "pdb-only".
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU - MVP C#
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>
>>





1 2