Команды расширения для WinDBG

!py

Синтаксис:
!py имя-скрипта параметры-скрипта
Пример использования:
kd>!py script.py 1 "abc"

Порядок поиска скриптов:
1. В текущем каталоге
2. В каталогах, указанных в переменной окружения $PYTHONPATH

!pycmd

Синтаксис:
!pycmd строка на языке Python

Пример использования:
kd>!pycmd from pykd import *
kd>!pycmd dprintln("hello")
hello

Глобальная машина Python в windbg

При загрузке модуля pykd.pyd в windbg создается виртуальная машина python, состояние которой сохранаяется на протяжении работы расширения. Команда !pycmd выполняется в контексте этой машины. При выполнении скрипта через команду !py создается отдельная ( изолированная от глобальной ) виртуальная машина python, срок жизни которой ограничен временем выполнения скрипта

Режим интерпретатора python

Если выполнить команду !pycmd без параметров, отладчик переходит в режим интерпретатора. Для выхода из него нужно ввести в поле ввода пустую строку
kd>!pycmd
>>> from pykd import *
>>> dprintln("hello")
hello
>>>
kd>

!pythonpath

Команда выводит значение переменной окружения $PYTHONPATH.

Last edited Oct 29, 2010 at 5:58 AM by kernelnet, version 3

Comments

No comments yet.