Quantcast
Channel: Python extension for WinDbg
Viewing all articles
Browse latest Browse all 1625

Commented Unassigned: не срабатывают брейкпоинты [14150]

$
0
0
Не срабатывают брейкпоинты ниже приведен минимальный пример.
Выводит 2 пустых строки, продолжает выполнение ВМ..
Также не выводятся print
bl - не видет брейкпоинтов.
```

# from pykd import *
# 1.py
#

def OnZwAllocateVirtualMemory():
print ('hi')
return ptrDWord(reg('esp') + 0x4 ) != 0xFFFFFFFF # если поставить True реакции тоже нету

def OnNtAllocateVirtualMemory():
print ('Nthi')
return ptrDWord(reg('esp') + 0x4 ) != 0xFFFFFFFF

nt = module('nt')
setBp( nt.ZwAllocateVirtualMemory, OnZwAllocateVirtualMemory )
setBp( nt.NtAllocateVirtualMemory, OnNtAllocateVirtualMemory )
print (dbgCommand('bl'))
go()


```
в окне windbg:

.load pykd
!py -g C:\1.py

версии ПО:

windbg 10.0.15063.468 Kernel debug mode
python 2.7.14
pykd 0.3.3.0 (устанавливалось через BOOTSTRAPPER)
Comments: ** Comment from web user: s401278 **

Судя по всему проблема как то связана с временем жизни интпретатора.
Вот интересный пример:
```
> !py -g
Python 2.7.14 (v2.7.14, Sep 15 2017, 10:14:34) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> nt = module('nt')
>>> setBp( nt.ZwAllocateVirtualMemory, lambda : True)
<pykd.pykd.breakpoint object at 0x04F3C298>
>>> print (dbgCommand('bl'))
0 e Disable Clear 8284df54 0001 (0001) nt!ZwAllocateVirtualMemory


>>> go()
pykd.pykd.executionStatus.Break
>>> go()

```
Kernel debug mode
Сработал только 1 раз брейкпоинт, хотя должен был регулярно срабатывать так как ZwAllocateVirtualMemory регулярно используется системой
Т.е почему то брейкпоинт удаляется ..
При этом если текущий скрипт оформить отдельным файлов и запускать как !py -g C:\1.py то срабатывания вообще не происходит, print из py скрипта в консоль windbg также не работает( (выводит пустую строку)

Как это исправить?


Viewing all articles
Browse latest Browse all 1625


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>