Tôi đang cố gắng sử dụng một hàm từ thư viện mã nguồn mở. Hàm này không được trưng ra bên ngoài theo mặc định (vì vậy tôi giả sử nó không phải là hàm tiện ích được cung cấp trực tiếp bởi thư viện mã nguồn mở), nhưng tôi cần hàm này để giải quyết một số vấn đề trong mã của tôi, vì vậy bằng cách nào đó tôi đã thực hiện một số thay đổi trong makefile để lộ ra chức năng từ thư viện.Làm thế nào để tìm một hàm có reentrant
Bây giờ câu hỏi đặt ra là làm thế nào để đảm bảo chức năng này được thực hiện lại.
Tôi không thể tìm ra bằng mắt thường, bởi vì nó đang gọi một số hàm bên trong.
Để biết chính xác, tôi tò mò muốn biết nếu có bất kỳ công cụ nào có sẵn hoặc bất kỳ tùy chọn nào trong GDB để kiểm tra xem chức năng của tôi có chỉ sử dụng các biến cục bộ hay không.
Nếu không chắc chắn và bạn có thể sửa đổi (có vẻ như bạn đang), hãy làm cho hàm không tái nhập với một số mutex tĩnh. –
bạn có thể kiểm tra mã bị ngắt. nó có thể không có giá trị nỗ lực mặc dù ... –
Bạn chỉ có thể gọi chức năng, và gọi một gián đoạn và gọi chức năng một lần nữa và xem những gì sẽ xảy ra. Nếu nó hoạt động tồi tệ. –