Я совершенно уверен, что нет никакого документированного переключателя. Если вы немного посмотрите на файл cl.exe, вы можете найти различные строки, некоторые из которых связаны с параметрами командной строки. Один из них говорит что-то вроде: «Разбиение (options =% s) \ 0nul \ 0map \ 0ast».
То, что «ast» может относиться к абстрактному синтаксическому дереву, что может означать, что возможен какой-то дамп AST компилятора - но я не особо разбирался в деталях, чтобы выяснить, о чем идет речь, нацелен или многое другое. В этом отношении «ast» и «options =» могут вообще не быть связаны. Даже если он может создавать дампы AST, это не обязательно означает, что он может рассказать вам о макете vtable.
Короче говоря, этого достаточно, чтобы было трудно исключить с полной уверенностью. В то же время, там достаточно мало, чтобы потребовалось намного больше работы, чем просто намекнуть на расплывчатую вероятность того, что у компилятора может быть некоторая недокументированная способность выводить некоторые внутренние структуры.