Что вы подразумеваете под стеком?Стек виртуальной машины VBScript или стек ЦП.Для стека ЦПУ используйте отладчик
. Вы также можете запускать в отладчике.
windbg или ntsd (ntsd - консольная программа и может быть установлена).Оба они также из Средства отладки для Windows.
Загрузите и установите Средства отладки для Windows
http://msdn.microsoft.com/en-us/windows/hardware/hh852363
Установите Windows SDK, но просто выберите инструменты отладки.
Создайте папку с именем Symbols в C: \
Start Windbg
.Меню Файл - Путь к символу и введите
srv*C:\symbols*http://msdl.microsoft.com/download/symbols
, затем
windbg -o -g -G c:\windows\system32\cmd.exe /k batfile.bat
Все программы останавливаются после загрузки, но до запуска программы.Нажмите g
, чтобы продолжить.Также программы останавливаются после завершения всего кода.Снова нажмите g
.
Вы можете нажать F12 , чтобы остановить его, и kb
покажет стек вызовов (g
продолжает программу).Если есть ошибки, они также остановятся и покажут их.
Введите lm
, чтобы вывести список загруженных модулей, x *!*
, чтобы вывести список символов, и bp [symbolname]
, чтобы установить точку останова.
Точка останова - это место, где программа останавливается, когда сталкивается с BP.Позволяет вам читать стек.kb
показывает функции вызова и первые 4 параметра для функций.
VB6
Если при программировании на VB6 эта переменная среды link=/pdb:none
сохраняет символы вDLL, а не отдельные файлы.Убедитесь, что вы скомпилировали программу без оптимизаций и установите флажок «Создать символическую информацию отладки».Оба на вкладке «Компиляция» в свойствах проекта.
Также CoClassSyms (http://microsoft.com/msj/0399/hood/hood0399.aspx) может создавать символы из библиотек типов.
См. Для фона https://blogs.msdn.microsoft.com/ericlippert/2004/04/19/runtime-typing-in-vbscript/
-