GDB si lamenta che il mio file sorgente è più recente dell'eseguibile e sembra che le informazioni di debug siano effettivamente correlate a una versione precedente del file sorgente, perché gdb si ferma su una riga vuota:"Il file sorgente è più recente di quello eseguibile" eccetto che non è
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ??()
(gdb) up
#1 0x00007ffff7ba2d88 in CBKeyPairGenerate (keyPair=0x602010) at library/src/CBHDKeys.c:246
warning: Source file is more recent than executable.
246
(gdb) list
241 if (versionBytes == CB_HD_KEY_VERSION_TEST_PUBLIC
242 || versionBytes == CB_HD_KEY_VERSION_TEST_PRIVATE)
243 return CB_NETWORK_TEST;
244
245 return CB_NETWORK_UNKNOWN;
246
247 }
248
249 uint8_t * CBHDKeyGetPrivateKey(CBHDKey * key) {
250
ma l'eseguibile è più recente del file di origine, vedere qui:
$ ls -l library/src/CBHDKeys.c
-rw-r--r-- 1 matt matt 9249 Apr 29 22:40 library/src/CBHDKeys.c
$ ls -l bin/noLowerAddressGenerator
-rwxr-xr-x 1 matt matt 17845 Apr 30 15:52 bin/noLowerAddressGenerator
ho provato ricostruzione dopo lo stesso problema si verifica make clean
e ccache -C
ma. Quando ho aggiornato il file sorgente ho aggiunto solo spazi bianchi, quindi la logica del programma rimane uguale. Sento che ha qualcosa a che fare con esso, ma da quando ho eliminato il ccache e pulito la directory build e bin con make clean
non sono sicuro di cosa sia andando avanti.
Versioni:
- GNU Make 3.81
- gcc (Debian 4.8.2-16) 4.8.2
- GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
- versione 3.1.9 ccache
- SolydXK - SMP Debian 3.13.5-1 (2014-03-04)
'CBKeyPairGenerate' sarà il nome della funzione,' noLowerAddressGenerator' è un eseguibile. –
Controllare l'ovvio, ma: presumo che non ci siano altri exes noLowerAddressGenerator sul percorso che gdb potrebbe raccogliere? –
C'è solo un noLowerAddressGenerator e in che modo gdb può ottenere file misti ovunque quando passo nel percorso esatto del file? –