Có cách nào để nhanh chóng tìm kiếm danh sách đầy đủ các đường dẫn mã tới một chức năng cụ thể trong dự án của tôi, để tìm hiểu xem một số chức năng đòn bẩy nhất định có gọi nó trực tiếp hay gián tiếp không? Ví dụ, một số đầu ra có thể để xác định xem MyLowLevelFunction
có thể truy cập từ TargetFunction
:Làm cách nào để tạo một cây gọi ngược cho một dự án Delphi?
đường Mã 1
ModuleA2.TopLevelFunction |--ModuleA1.SomeFunction |----Utility.MyLowLevelFunction
đường Mã 2
ModuleB2.TopLevelFunction |--TargetModule.TargetFunction <-- This calls MyLowLevelFunction indirectly |----ModuleB1.SomeFunction |------Utility.MyLowLevelFunction
bản sao có thể có của [Hiển thị ngăn xếp cuộc gọi trong ứng dụng Delphi Win32] (http://stackoverflow.com/questions/258727/display-the-call-stack-in-a-delphi-win32-application) hoặc [ Cần một cách để định kỳ đăng nhập theo dõi ngăn xếp/ngăn xếp cuộc gọi] (http://stackoverflow.com/questions/2326980/need-a-way-to-periodically-log-the-call-stack-stack-trace-for- mọi phương thức-thủ tục) –
Tôi có thể đã sai trên bản dupe. Bạn đang tìm kiếm một phân tích tĩnh của mã hoặc bạn đang tìm kiếm một cái gì đó trong thời gian chạy? –
Tôi không nghĩ đây là một bản dupe. Đây là về một báo cáo cây cuộc gọi ngược lại (không phải là một ngăn xếp cuộc gọi), thường được thực hiện thông qua phân tích tĩnh mặc dù tôi cho rằng bạn có thể làm điều đó với một hồ sơ lấy mẫu. –