GDB phàn nàn rằng tệp nguồn của tôi gần đây hơn tệp thực thi và có vẻ thông tin gỡ lỗi thực sự liên quan đến phiên bản tệp nguồn cũ hơn, vì gdb là dừng trên một dòng trống:"Tệp nguồn gần đây hơn tệp thực thi" ngoại trừ không phải là
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
nhưng thực thi là gần đây nhiều hơn các tập tin nguồn, xem tại đây:
$ 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
tôi đã cố gắng xây dựng lại sau khi make clean
và ccache -C
nhưng vấn đề tương tự xảy ra. Khi tôi cập nhật tệp nguồn, tôi chỉ thêm khoảng trắng, vì vậy logic chương trình vẫn bằng nhau. Tôi cảm thấy có liên quan gì đó với nó, nhưng vì tôi đã xóa ccache và dọn dẹp thư mục xây dựng và bin với make clean
Tôi không chắc chắn đang xảy ra.
phiên bản:
- GNU Make 3,81
- gcc (Debian 4.8.2-16) 4.8.2
- GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
- phiên bản 3.1.9 ccache
- SolydXK - SMP Debian 3.13.5-1 (2014-03-04)
'CBKeyPairGenerate' sẽ là tên hàm, 'noLowerAddressGenerator' là tệp thực thi. –
Kiểm tra rõ ràng, nhưng: Tôi sẽ giả sử không có noLowerAddressGenerator khác xuất hiện trên đường dẫn mà gdb có thể được chọn lên? –
Chỉ có một noLowerAddressGenerator và làm thế nào có thể gdb nhận được các tập tin hỗn hợp lên bất cứ nơi nào khi tôi vượt qua trong đường dẫn chính xác vào tập tin? –