2008-11-20 8 views
18

Al leer un seguimiento de la pila como:¿Qué significan los valores "+ n" al final de un nombre de método en un seguimiento de pila?

[FormatException: Input string was not in a correct format.] 
    System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2755599 
    System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +112 
    System.Convert.ToInt32(String value) +68 

¿Qué significan los 68, 112, etc. números significan. Supongo que se compensan con algo. ¿Entonces qué?

Respuesta

2

Significa:

Es un desplazamiento en las instrucciones nativas para el método.

Lea this para obtener más información.

15

creo que son las compensaciones en el código del método - si la IL-compilados o JIT-montaje bytes, no estoy seguro ...

(Básicamente se está tomando el lugar de los números de línea , que por supuesto no están disponibles sin los pdbs.)

+1

Son desviaciones de bytes desde el inicio de la función hasta la dirección de retorno. – plinth

+0

¿Pero en IL o código de máquina? –

+0

No sé - Estaba desambiguando que vayan a la dirección del remitente. :) – plinth

2

es la compensación de bytes en código nativo.

Con ILDASM, usted sabe por qué.

+3

ILDASM no le mostrará el código nativo, ¿se refirió a la desviación de bytes en IL? –

Cuestiones relacionadas