«nm» mostra zero VMA: onde o símbolo será mapeado?

1

Eu estou olhando para as funções do meu aplicativo compilado via «nm» - eu preciso encontrar um endereço para definir um ponto de interrupção para a função «send ()». O problema é que esta função de acordo com a saída de 'nm' tem VMA igual a zero, e este endereço não será alterado no futuro, como mostrado pela marca «A»:

00000000 A _send@16

Eu me pergunto, o que isso poderia significar? Onde está realmente o send() será mapeado? Uma nota que poderia ser útil: o binário é um aplicativo PE compilado com MinGW.

    
por Hi-Angel 29.09.2014 / 11:39

1 resposta

1

Só para atualizar, verifique isso. As funções com endereço 0 devem ser apenas o endereço 0 do arquivo de objeto original em que a função foi definida. A biblioteca com a qual estou trabalhando acontece para definir muitas funções em arquivos separados, portanto, muitos dos mais importantes parecem ter 0x0 como seu endereço. Se você adicionar -o à linha de comando, ele deverá ler o nome do arquivo do objeto original para cada símbolo.

link

    
por 10.02.2015 / 23:16