Tôi đang viết một dự án C++ và xây dựng một DAG của các kiểu liên quan đến kế thừa khác nhau. Tôi đã đặt một breakpoint sau khi xây dựng và tôi muốn xem DAG. Trình gỡ lỗi tuy nhiên sẽ chỉ hiển thị lớp cơ sở. Nó sẽ đặt tên loại có nguồn gốc nhiều nhất bên cạnh mục nhập __vfptr
, nhưng tôi không thể xem nội dung đó và xác minh rằng chúng là những gì tôi mong đợi. Có cách nào để xem loại xuất phát nhất trong cửa sổ Người dân địa phương trực tiếp không?Xem hầu hết các loại có nguồn gốc trong trình gỡ lỗi
Tôi đang nhắm mục tiêu x64, nếu điều đó có liên quan.
Trình gỡ rối chỉ có thể đoán ở loại thực tế, C++ không hỗ trợ sự phản chiếu. Sử dụng biểu thức truyền: * (foo *) ptr –
@Hans: Trình gỡ lỗi biết loại chính xác. Ngoài bất kỳ đối số lý thuyết nào tôi có thể thực hiện, nó có nghĩa là đặt tên chính xác loại trong trình gỡ rối. Nó nói rõ ràng '__vfptr (loại có nguồn gốc nhiều nhất)'. Tôi chỉ không thể * khám phá * giá trị. – Puppy
Nó biết chính xác loại con trỏ v-table, nó có thể nói từ giá trị của nó. Những gì nó không biết là loại đối tượng có chứa con trỏ đó. Bạn đã thử các diễn viên (nó đã nhai, '* (foo *) ptr') –