Tôi đang chạy một ứng dụng được nhúng trên bo mạch ARM9, trong đó tổng kích thước flash chỉ là 180MB. Tôi có thể chạy gdb
, nhưng khi tôi làmCách giới hạn kích thước tệp kết xuất lõi khi tạo tệp bằng cách sử dụng GDB
(gdb) generate-core-dump
tôi nhận được một lỗi
warning: Memory read failed for corefile section, 1048576 bytes at 0x4156c000.
warning: Memory read failed for corefile section, 1048576 bytes at 0x50c00000.
Saved corefile core.5546
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Tamper Detected
**********OUTSIDE ifelse 0*********
length validation is failed
Tôi cũng thiết lập ulimit -c 50000
nhưng vẫn là bãi chứa lõi vượt quá giới hạn này. Khi tôi thực hiện ls -l
để kiểm tra kích thước tệp, dung lượng trên 300 MB. Trong trường hợp này làm thế nào tôi nên giới hạn kích thước của dump lõi?
Tôi đang chạy gdb trên bảng đích. Tôi cũng có thể sử dụng gdbserver, nhưng kể từ vụ tai nạn là không dễ dàng tái sản xuất, tôi sẽ với tùy chọn đầu tiên. –
Xin lỗi nhưng tôi không thể nhìn thấy cách chạy gdb hoặc gdbserver như bất cứ điều gì để làm với vụ tai nạn được dễ dàng sao chép hay không? – shodanex
@shodanex - sử dụng mô hình client-server lõi có thể được thu thập trên hệ thống tệp "lưu trữ", không phải trên hệ thống nhúng, mà ở đây chỉ có 180MB không gian có sẵn cho tệp lõi. Có lẽ hệ thống máy chủ có một ổ cứng đầy đủ và có thể lưu một tệp lõi lớn hơn nhiều. – Peter