mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 03:23:23 +08:00
Compare commits
27 Commits
0.3.4.11
...
0.3.4.15_1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
98980c4414 | ||
![]() |
bd66633136 | ||
![]() |
eeabea3f8d | ||
![]() |
29a0fc0c09 | ||
![]() |
22cf84b27e | ||
![]() |
8bd990fcf6 | ||
![]() |
6e966b96be | ||
![]() |
8167656e04 | ||
![]() |
cf27e9072d | ||
![]() |
fe85b1e6a5 | ||
![]() |
46382d24fa | ||
![]() |
7bc86e0c53 | ||
![]() |
5bfa947185 | ||
![]() |
c36dafa380 | ||
![]() |
d8f99d73e8 | ||
![]() |
33787db547 | ||
![]() |
cccc1103b1 | ||
![]() |
dfb935f3f8 | ||
![]() |
fce592816d | ||
![]() |
f9a0361d85 | ||
![]() |
af9127d5d5 | ||
![]() |
25fbe8a6f6 | ||
![]() |
fcf6d9927b | ||
![]() |
eb6b11a55d | ||
![]() |
b2d7e2d7dc | ||
![]() |
52463eb340 | ||
![]() |
0f0c5667df |
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,3 +1,3 @@
|
|||||||
[submodule "kdlibcpp"]
|
[submodule "kdlibcpp"]
|
||||||
path = kdlibcpp
|
path = kdlibcpp
|
||||||
url = https://githomelab.ru/kdlibcpp/kdlibcpp.git
|
url = https://github.com/ivellioscolin/kdlibcpp.git
|
||||||
|
15
README.md
15
README.md
@ -7,15 +7,20 @@ This project can help to automate debugging and crash dump analysis using Python
|
|||||||
If you want to automate the debugger but dislike the WinDbg built-in script machine syntax it's time to try again using the handy and powerful Python language. Even if you don't want to create your own script, maybe some existing scripts will be of interest to you?
|
If you want to automate the debugger but dislike the WinDbg built-in script machine syntax it's time to try again using the handy and powerful Python language. Even if you don't want to create your own script, maybe some existing scripts will be of interest to you?
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
* You should have installed python. Supported python: 2.7, 3.5, 3.6 and 3.7
|
* You should have installed python. Supported python: 2.7, 3.5 - 3.9
|
||||||
* Install pykd with command: 'pip install pykd'
|
* Install pykd with command: 'pip install pykd'
|
||||||
* Use pykd bootstrapper to run pykd with windbg
|
* Use windbg extension (bootstrapper) to run pykd with windbg
|
||||||
|
|
||||||
## Pykd bootstrapper
|
## Windbg extension (bootstarpper)
|
||||||
Use it to run pykd within windbg.
|
Use it to run pykd within windbg.
|
||||||
[Home Page](https://githomelab.ru/pykd/pykd-ext)
|
[Home Page](https://githomelab.ru/pykd/pykd-ext)
|
||||||
[Download](https://githomelab.ru/pykd/pykd-ext/wikis/Downloads)
|
[Download](https://githomelab.ru/pykd/pykd-ext/wikis/Downloads)
|
||||||
|
|
||||||
|
## Releases
|
||||||
|
Just run 'pip install pykd' to install or 'pip install pykd --upgrade' to upgrade to the last version
|
||||||
|
[PyPi](https://pypi.org/project/pykd)
|
||||||
|
[All Releases](/../wikis/All Releases)
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
[Wiki Home](/../wikis/Home)
|
[Wiki Home](/../wikis/Home)
|
||||||
[User Manual](/../wikis/User Manual rus)
|
[User Manual](/../wikis/User Manual rus)
|
||||||
@ -31,10 +36,6 @@ A library with auxiliary modules for writing small pykd scripts and daily use.
|
|||||||
[windbg-kernel](https://githomelab.ru/pykd/windbg-kernel)
|
[windbg-kernel](https://githomelab.ru/pykd/windbg-kernel)
|
||||||
Set of pykd script for kernel debugging
|
Set of pykd script for kernel debugging
|
||||||
|
|
||||||
## Releases
|
|
||||||
[All Releases](/../wikis/All Releases)
|
|
||||||
[PyPi](https://pypi.org/project/pykd)
|
|
||||||
Just run 'pip install pykd' to install or 'pip install pykd --upgrade' to upgrade to the last version
|
|
||||||
|
|
||||||
## How to build ?
|
## How to build ?
|
||||||
* install VS 2017
|
* install VS 2017
|
||||||
|
2
kdlibcpp
2
kdlibcpp
@ -1 +1 @@
|
|||||||
Subproject commit 499faf52150cf017669e85a8861ccdbc48c1f2bb
|
Subproject commit e54598d2f904acab23d340c93ce77c551a396ecb
|
118
pykd.sln
118
pykd.sln
@ -42,6 +42,8 @@ Global
|
|||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug_2.7|Win32 = Debug_2.7|Win32
|
Debug_2.7|Win32 = Debug_2.7|Win32
|
||||||
Debug_2.7|x64 = Debug_2.7|x64
|
Debug_2.7|x64 = Debug_2.7|x64
|
||||||
|
Debug_3.10|Win32 = Debug_3.10|Win32
|
||||||
|
Debug_3.10|x64 = Debug_3.10|x64
|
||||||
Debug_3.5|Win32 = Debug_3.5|Win32
|
Debug_3.5|Win32 = Debug_3.5|Win32
|
||||||
Debug_3.5|x64 = Debug_3.5|x64
|
Debug_3.5|x64 = Debug_3.5|x64
|
||||||
Debug_3.6|Win32 = Debug_3.6|Win32
|
Debug_3.6|Win32 = Debug_3.6|Win32
|
||||||
@ -50,8 +52,12 @@ Global
|
|||||||
Debug_3.7|x64 = Debug_3.7|x64
|
Debug_3.7|x64 = Debug_3.7|x64
|
||||||
Debug_3.8|Win32 = Debug_3.8|Win32
|
Debug_3.8|Win32 = Debug_3.8|Win32
|
||||||
Debug_3.8|x64 = Debug_3.8|x64
|
Debug_3.8|x64 = Debug_3.8|x64
|
||||||
|
Debug_3.9|Win32 = Debug_3.9|Win32
|
||||||
|
Debug_3.9|x64 = Debug_3.9|x64
|
||||||
Release_2.7|Win32 = Release_2.7|Win32
|
Release_2.7|Win32 = Release_2.7|Win32
|
||||||
Release_2.7|x64 = Release_2.7|x64
|
Release_2.7|x64 = Release_2.7|x64
|
||||||
|
Release_3.10|Win32 = Release_3.10|Win32
|
||||||
|
Release_3.10|x64 = Release_3.10|x64
|
||||||
Release_3.5|Win32 = Release_3.5|Win32
|
Release_3.5|Win32 = Release_3.5|Win32
|
||||||
Release_3.5|x64 = Release_3.5|x64
|
Release_3.5|x64 = Release_3.5|x64
|
||||||
Release_3.6|Win32 = Release_3.6|Win32
|
Release_3.6|Win32 = Release_3.6|Win32
|
||||||
@ -60,11 +66,15 @@ Global
|
|||||||
Release_3.7|x64 = Release_3.7|x64
|
Release_3.7|x64 = Release_3.7|x64
|
||||||
Release_3.8|Win32 = Release_3.8|Win32
|
Release_3.8|Win32 = Release_3.8|Win32
|
||||||
Release_3.8|x64 = Release_3.8|x64
|
Release_3.8|x64 = Release_3.8|x64
|
||||||
|
Release_3.9|Win32 = Release_3.9|Win32
|
||||||
|
Release_3.9|x64 = Release_3.9|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|Win32.Build.0 = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|Win32.Build.0 = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.10|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.10|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
||||||
@ -73,8 +83,12 @@ Global
|
|||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.9|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Debug_3.9|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.10|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.10|x64.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
||||||
@ -83,8 +97,12 @@ Global
|
|||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
||||||
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.9|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{3F0BE77E-19B0-4192-B432-44A25805BCB8}.Release_3.9|x64.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.10|Win32.ActiveCfg = Debug_3.10|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.10|x64.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
||||||
@ -93,8 +111,12 @@ Global
|
|||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.9|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Debug_3.9|x64.ActiveCfg = Debug|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.10|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.10|x64.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
||||||
@ -103,8 +125,12 @@ Global
|
|||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
||||||
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.9|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{6471FEDC-3129-410F-BFFC-4BC89707E5EC}.Release_3.9|x64.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_2.7|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_2.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.10|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.10|x64.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.5|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.5|x64.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.6|Win32.ActiveCfg = Debug|Any CPU
|
||||||
@ -113,8 +139,12 @@ Global
|
|||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.7|x64.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.8|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.8|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.9|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Debug_3.9|x64.ActiveCfg = Debug|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_2.7|Win32.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_2.7|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.10|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.10|x64.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.5|Win32.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.5|x64.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.6|Win32.ActiveCfg = Release|Any CPU
|
||||||
@ -123,10 +153,15 @@ Global
|
|||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.7|x64.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.8|Win32.ActiveCfg = Release|Any CPU
|
||||||
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.8|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.9|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{D78837DC-BF31-4FC4-88A5-7F2FADAFA795}.Release_3.9|x64.ActiveCfg = Release|Any CPU
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|Win32.ActiveCfg = Debug|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|Win32.ActiveCfg = Debug|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|Win32.Build.0 = Debug|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|Win32.Build.0 = Debug|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|x64.ActiveCfg = Debug|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|x64.ActiveCfg = Debug|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|x64.Build.0 = Debug|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_2.7|x64.Build.0 = Debug|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.10|Win32.ActiveCfg = Debug_Static|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.10|x64.ActiveCfg = Debug|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.10|x64.Build.0 = Debug|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|Win32.ActiveCfg = Debug|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|Win32.ActiveCfg = Debug|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|Win32.Build.0 = Debug|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|Win32.Build.0 = Debug|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|x64.ActiveCfg = Debug|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.5|x64.ActiveCfg = Debug|x64
|
||||||
@ -143,10 +178,18 @@ Global
|
|||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|Win32.Build.0 = Debug|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|Win32.Build.0 = Debug|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|x64.ActiveCfg = Debug|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|x64.ActiveCfg = Debug|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|x64.Build.0 = Debug|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.8|x64.Build.0 = Debug|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.9|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.9|Win32.Build.0 = Debug|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.9|x64.ActiveCfg = Debug|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Debug_3.9|x64.Build.0 = Debug|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|Win32.ActiveCfg = Release_Static|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|Win32.ActiveCfg = Release_Static|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|Win32.Build.0 = Release_Static|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|Win32.Build.0 = Release_Static|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|x64.ActiveCfg = Release_Static|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|x64.ActiveCfg = Release_Static|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|x64.Build.0 = Release_Static|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_2.7|x64.Build.0 = Release_Static|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.10|Win32.ActiveCfg = Release_Static|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.10|Win32.Build.0 = Release_Static|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.10|x64.ActiveCfg = Release_Static|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.10|x64.Build.0 = Release_Static|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|Win32.ActiveCfg = Release_Static|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|Win32.ActiveCfg = Release_Static|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|Win32.Build.0 = Release_Static|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|Win32.Build.0 = Release_Static|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|x64.ActiveCfg = Release_Static|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.5|x64.ActiveCfg = Release_Static|x64
|
||||||
@ -163,10 +206,18 @@ Global
|
|||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|Win32.Build.0 = Release_Static|Win32
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|Win32.Build.0 = Release_Static|Win32
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|x64.ActiveCfg = Release_Static|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|x64.ActiveCfg = Release_Static|x64
|
||||||
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|x64.Build.0 = Release_Static|x64
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.8|x64.Build.0 = Release_Static|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.9|Win32.ActiveCfg = Release_Static|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.9|Win32.Build.0 = Release_Static|Win32
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.9|x64.ActiveCfg = Release_Static|x64
|
||||||
|
{3E9C538F-F060-4E86-AB7D-D44439615B63}.Release_3.9|x64.Build.0 = Release_Static|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|Win32.ActiveCfg = Debug_2.7|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|Win32.ActiveCfg = Debug_2.7|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|Win32.Build.0 = Debug_2.7|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|Win32.Build.0 = Debug_2.7|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|x64.ActiveCfg = Debug_2.7|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|x64.ActiveCfg = Debug_2.7|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|x64.Build.0 = Debug_2.7|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_2.7|x64.Build.0 = Debug_2.7|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.10|Win32.ActiveCfg = Debug_3.10|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.10|Win32.Build.0 = Debug_3.10|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.10|x64.ActiveCfg = Debug_3.10|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.10|x64.Build.0 = Debug_3.10|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|Win32.ActiveCfg = Debug_3.5|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|Win32.ActiveCfg = Debug_3.5|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|Win32.Build.0 = Debug_3.5|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|Win32.Build.0 = Debug_3.5|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|x64.ActiveCfg = Debug_3.5|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.5|x64.ActiveCfg = Debug_3.5|x64
|
||||||
@ -183,10 +234,18 @@ Global
|
|||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|Win32.Build.0 = Debug_3.8|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|Win32.Build.0 = Debug_3.8|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|x64.ActiveCfg = Debug_3.8|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|x64.ActiveCfg = Debug_3.8|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|x64.Build.0 = Debug_3.8|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.8|x64.Build.0 = Debug_3.8|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.9|Win32.ActiveCfg = Debug_3.9|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.9|Win32.Build.0 = Debug_3.9|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.9|x64.ActiveCfg = Debug_3.9|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Debug_3.9|x64.Build.0 = Debug_3.9|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|Win32.ActiveCfg = Release_2.7|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|Win32.ActiveCfg = Release_2.7|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|Win32.Build.0 = Release_2.7|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|Win32.Build.0 = Release_2.7|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|x64.ActiveCfg = Release_2.7|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|x64.ActiveCfg = Release_2.7|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|x64.Build.0 = Release_2.7|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_2.7|x64.Build.0 = Release_2.7|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.10|Win32.ActiveCfg = Release_3.10|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.10|Win32.Build.0 = Release_3.10|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.10|x64.ActiveCfg = Release_3.10|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.10|x64.Build.0 = Release_3.10|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|Win32.ActiveCfg = Release_3.5|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|Win32.ActiveCfg = Release_3.5|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|Win32.Build.0 = Release_3.5|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|Win32.Build.0 = Release_3.5|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|x64.ActiveCfg = Release_3.5|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.5|x64.ActiveCfg = Release_3.5|x64
|
||||||
@ -203,10 +262,17 @@ Global
|
|||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|Win32.Build.0 = Release_3.8|Win32
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|Win32.Build.0 = Release_3.8|Win32
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|x64.ActiveCfg = Release_3.8|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|x64.ActiveCfg = Release_3.8|x64
|
||||||
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|x64.Build.0 = Release_3.8|x64
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.8|x64.Build.0 = Release_3.8|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.9|Win32.ActiveCfg = Release_3.9|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.9|Win32.Build.0 = Release_3.9|Win32
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.9|x64.ActiveCfg = Release_3.9|x64
|
||||||
|
{C4C45791-0201-4406-BC5C-A384B01E3BF5}.Release_3.9|x64.Build.0 = Release_3.9|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|Win32.ActiveCfg = Debug|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|Win32.Build.0 = Debug|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|x64.ActiveCfg = Debug|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|x64.Build.0 = Debug|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_2.7|x64.Build.0 = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.10|Win32.ActiveCfg = Debug_3.10|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.10|x64.ActiveCfg = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.10|x64.Build.0 = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|Win32.ActiveCfg = Debug|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|Win32.Build.0 = Debug|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|x64.ActiveCfg = Debug|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.5|x64.ActiveCfg = Debug|x64
|
||||||
@ -223,26 +289,38 @@ Global
|
|||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|Win32.Build.0 = Debug|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|x64.ActiveCfg = Debug|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|x64.Build.0 = Debug|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.8|x64.Build.0 = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|Win32.ActiveCfg = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.9|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|Win32.Build.0 = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.9|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|x64.ActiveCfg = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.9|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|x64.Build.0 = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Debug_3.9|x64.Build.0 = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|Win32.ActiveCfg = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|Win32.Build.0 = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|x64.ActiveCfg = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|x64.Build.0 = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_2.7|x64.Build.0 = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|Win32.ActiveCfg = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.10|Win32.ActiveCfg = Release|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|Win32.Build.0 = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.10|Win32.Build.0 = Release|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|x64.ActiveCfg = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.10|x64.ActiveCfg = Release|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|x64.Build.0 = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.10|x64.Build.0 = Release|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|Win32.ActiveCfg = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|Win32.Build.0 = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|x64.ActiveCfg = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|x64.Build.0 = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.5|x64.Build.0 = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|Win32.ActiveCfg = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|Win32.ActiveCfg = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|Win32.Build.0 = Release|Win32
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|Win32.Build.0 = Debug|Win32
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|x64.ActiveCfg = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|x64.ActiveCfg = Debug|x64
|
||||||
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|x64.Build.0 = Release|x64
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.6|x64.Build.0 = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|Win32.Build.0 = Debug|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|x64.ActiveCfg = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.7|x64.Build.0 = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|Win32.Build.0 = Debug|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|x64.ActiveCfg = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.8|x64.Build.0 = Debug|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.9|Win32.ActiveCfg = Release|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.9|Win32.Build.0 = Release|Win32
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.9|x64.ActiveCfg = Release|x64
|
||||||
|
{0E4CC688-F2F5-499F-9C07-0F2CAEE0D3EF}.Release_3.9|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -105,7 +105,11 @@ object BOOST_PYTHON_DECL exec_file(char const *filename, object global, object l
|
|||||||
// should be 'char const *' but older python versions don't use 'const' yet.
|
// should be 'char const *' but older python versions don't use 'const' yet.
|
||||||
char *f = const_cast<char *>(filename);
|
char *f = const_cast<char *>(filename);
|
||||||
// Let python open the file to avoid potential binary incompatibilities.
|
// Let python open the file to avoid potential binary incompatibilities.
|
||||||
#if PY_VERSION_HEX >= 0x03040000
|
#if PY_VERSION_HEX >= 0x030a0000
|
||||||
|
PyObject* fo = Py_BuildValue("s", f);
|
||||||
|
FILE* fs = _Py_fopen_obj(fo, "r");
|
||||||
|
Py_DECREF(fo);
|
||||||
|
#elif PY_VERSION_HEX >= 0x03040000
|
||||||
FILE *fs = _Py_fopen(f, "r");
|
FILE *fs = _Py_fopen(f, "r");
|
||||||
#elif PY_VERSION_HEX >= 0x03000000
|
#elif PY_VERSION_HEX >= 0x03000000
|
||||||
PyObject *fo = Py_BuildValue("s", f);
|
PyObject *fo = Py_BuildValue("s", f);
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
<package id="Python36" version="3.6.0" targetFramework="Native" />
|
<package id="Python36" version="3.6.0" targetFramework="Native" />
|
||||||
<package id="Python37" version="1.0.0.1" targetFramework="Native" />
|
<package id="Python37" version="1.0.0.1" targetFramework="Native" />
|
||||||
<package id="Python38" version="3.8.0" targetFramework="Native" />
|
<package id="Python38" version="3.8.0" targetFramework="Native" />
|
||||||
|
<package id="Python39" version="3.9.0" targetFramework="Native" />
|
||||||
|
<package id="python" version="3.10.10" allowedVersions="[3.10.0,3.11.0)" targetFramework="native" />
|
||||||
|
<package id="pythonx86" version="3.10.10" allowedVersions="[3.10.0,3.11.0)" targetFramework="native" />
|
||||||
<package id="clang-cmake" version="6.0.0.1" targetFramework="Native" />
|
<package id="clang-cmake" version="6.0.0.1" targetFramework="Native" />
|
||||||
<package id="llvm-cmake" version="6.0.0.1" targetFramework="Native" />
|
<package id="llvm-cmake" version="6.0.0.1" targetFramework="Native" />
|
||||||
</packages>
|
</packages>
|
||||||
|
@ -104,13 +104,13 @@ bool isKernelDebugging()
|
|||||||
|
|
||||||
|
|
||||||
inline
|
inline
|
||||||
python::object debugCommand( const std::wstring &command, bool suppressOutput = true)
|
python::object debugCommand( const std::wstring &command, bool suppressOutput = true, const kdlib::OutputFlagsSet& captureFlags = kdlib::OutputFlag::Normal)
|
||||||
{
|
{
|
||||||
std::wstring debugResult;
|
std::wstring debugResult;
|
||||||
|
|
||||||
{
|
{
|
||||||
AutoRestorePyState pystate;
|
AutoRestorePyState pystate;
|
||||||
debugResult = kdlib::debugCommand(command, suppressOutput);
|
debugResult = kdlib::debugCommand(command, suppressOutput, captureFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debugResult.size() > 0 )
|
if (debugResult.size() > 0 )
|
||||||
@ -147,6 +147,20 @@ void setOutputMask(const kdlib::OutputFlagsSet& outputMask)
|
|||||||
kdlib::setOutputFlags(outputMask);
|
kdlib::setOutputFlags(outputMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline
|
||||||
|
kdlib::DumpType getDumpType()
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return kdlib::getDumpType();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline
|
||||||
|
kdlib::DumpFormatFlagsSet getDumpFormat()
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return kdlib::getDumpFormat();
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// processes end threads
|
// processes end threads
|
||||||
|
@ -9,6 +9,14 @@
|
|||||||
<Configuration>Debug_2.7</Configuration>
|
<Configuration>Debug_2.7</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug_3.10|Win32">
|
||||||
|
<Configuration>Debug_3.10</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug_3.10|x64">
|
||||||
|
<Configuration>Debug_3.10</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug_3.5|Win32">
|
<ProjectConfiguration Include="Debug_3.5|Win32">
|
||||||
<Configuration>Debug_3.5</Configuration>
|
<Configuration>Debug_3.5</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -41,6 +49,14 @@
|
|||||||
<Configuration>Debug_3.8</Configuration>
|
<Configuration>Debug_3.8</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug_3.9|Win32">
|
||||||
|
<Configuration>Debug_3.9</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug_3.9|x64">
|
||||||
|
<Configuration>Debug_3.9</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release_2.7|Win32">
|
<ProjectConfiguration Include="Release_2.7|Win32">
|
||||||
<Configuration>Release_2.7</Configuration>
|
<Configuration>Release_2.7</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -49,6 +65,14 @@
|
|||||||
<Configuration>Release_2.7</Configuration>
|
<Configuration>Release_2.7</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release_3.10|Win32">
|
||||||
|
<Configuration>Release_3.10</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release_3.10|x64">
|
||||||
|
<Configuration>Release_3.10</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release_3.5|Win32">
|
<ProjectConfiguration Include="Release_3.5|Win32">
|
||||||
<Configuration>Release_3.5</Configuration>
|
<Configuration>Release_3.5</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -81,6 +105,14 @@
|
|||||||
<Configuration>Release_3.8</Configuration>
|
<Configuration>Release_3.8</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release_3.9|Win32">
|
||||||
|
<Configuration>Release_3.9</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release_3.9|x64">
|
||||||
|
<Configuration>Release_3.9</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{C4C45791-0201-4406-BC5C-A384B01E3BF5}</ProjectGuid>
|
<ProjectGuid>{C4C45791-0201-4406-BC5C-A384B01E3BF5}</ProjectGuid>
|
||||||
@ -132,6 +164,22 @@
|
|||||||
<PythonVersion>3.8</PythonVersion>
|
<PythonVersion>3.8</PythonVersion>
|
||||||
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.9</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.10</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
@ -172,6 +220,22 @@
|
|||||||
<PythonVersion>3.8</PythonVersion>
|
<PythonVersion>3.8</PythonVersion>
|
||||||
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.9</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.10</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_DEBUG>MDd</LLVM_USE_CRT_DEBUG>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@ -217,6 +281,24 @@
|
|||||||
<PythonVersion>3.8</PythonVersion>
|
<PythonVersion>3.8</PythonVersion>
|
||||||
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.9</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.10</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@ -262,6 +344,24 @@
|
|||||||
<PythonVersion>3.8</PythonVersion>
|
<PythonVersion>3.8</PythonVersion>
|
||||||
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.9</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
<PythonVersion>3.10</PythonVersion>
|
||||||
|
<LLVM_USE_CRT_RELEASE>MT</LLVM_USE_CRT_RELEASE>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -280,6 +380,12 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.8|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.8|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -295,6 +401,12 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.8|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.8|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -310,6 +422,12 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -325,6 +443,12 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros">
|
<PropertyGroup Label="UserMacros">
|
||||||
<NuGetPackageImportStamp>bb9fbdf7</NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>bb9fbdf7</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@ -368,6 +492,22 @@
|
|||||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
<TargetExt>.pyd</TargetExt>
|
<TargetExt>.pyd</TargetExt>
|
||||||
@ -408,6 +548,22 @@
|
|||||||
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<TargetExt>.pyd</TargetExt>
|
<TargetExt>.pyd</TargetExt>
|
||||||
@ -443,6 +599,20 @@
|
|||||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<TargetExt>.pyd</TargetExt>
|
<TargetExt>.pyd</TargetExt>
|
||||||
@ -478,6 +648,20 @@
|
|||||||
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.pyd</TargetExt>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
@ -589,6 +773,50 @@
|
|||||||
</Command>
|
</Command>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;_DEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);BOOST_PYTHON_NUMPY_INTERNAL</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<CustomBuildStep>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</CustomBuildStep>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;_DEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);BOOST_PYTHON_NUMPY_INTERNAL</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;$(SolutionDir)packages\pythonx86.3.10.10\tools\include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>$(SolutionDir)packages\pythonx86.3.10.10\tools\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<CustomBuildStep>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</CustomBuildStep>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_2.7|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
@ -699,6 +927,50 @@
|
|||||||
</Command>
|
</Command>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.9|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;_DEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);BOOST_PYTHON_NUMPY_INTERNAL</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<CustomBuildStep>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</CustomBuildStep>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_3.10|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;_DEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);BOOST_PYTHON_NUMPY_INTERNAL</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;$(SolutionDir)packages\python.3.10.10\tools\include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>$(SolutionDir)packages\python.3.10.10\tools\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<CustomBuildStep>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</CustomBuildStep>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_2.7|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
@ -719,7 +991,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.5|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.5|Win32'">
|
||||||
@ -742,7 +1014,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.6|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.6|Win32'">
|
||||||
@ -765,7 +1037,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.7|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.7|Win32'">
|
||||||
@ -788,7 +1060,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|Win32'">
|
||||||
@ -810,6 +1082,52 @@
|
|||||||
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;NDEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;</AdditionalIncludeDirectories>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;NDEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;$(SolutionDir)packages\pythonx86.3.10.10\tools\include</AdditionalIncludeDirectories>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>$(SolutionDir)packages\pythonx86.3.10.10\tools\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
@ -834,7 +1152,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.5|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.5|x64'">
|
||||||
@ -857,7 +1175,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.6|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.6|x64'">
|
||||||
@ -880,7 +1198,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.7|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.7|x64'">
|
||||||
@ -903,7 +1221,7 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.8|x64'">
|
||||||
@ -925,6 +1243,52 @@
|
|||||||
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Debug\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.9|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;NDEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;</AdditionalIncludeDirectories>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_3.10|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;BOOST_PYTHON_STATIC_LIB;BOOST_PYTHON_NO_LIB;NDEBUG;_WINDOWS;_USRDLL;PYKD_EXPORTS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)\kdlibcpp\kdlib\include;$(SolutionDir)\numpy\include;$(SolutionDir)packages\python.3.10.10\tools\include</AdditionalIncludeDirectories>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<ModuleDefinitionFile>pykd.def</ModuleDefinitionFile>
|
||||||
|
<AdditionalLibraryDirectories>$(SolutionDir)packages\python.3.10.10\tools\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
<Command>copy $(OutDir)..\Release\targetapp.exe $(OutDir)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
@ -1083,6 +1447,7 @@
|
|||||||
<Import Project="$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets" Condition="'$(PythonVersion)'=='3.6' AND Exists('$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" />
|
<Import Project="$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets" Condition="'$(PythonVersion)'=='3.6' AND Exists('$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" />
|
||||||
<Import Project="$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets" Condition="'$(PythonVersion)'=='3.7' AND Exists('$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" />
|
<Import Project="$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets" Condition="'$(PythonVersion)'=='3.7' AND Exists('$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" />
|
||||||
<Import Project="$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets" Condition="'$(PythonVersion)'=='3.8' AND Exists('$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" />
|
<Import Project="$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets" Condition="'$(PythonVersion)'=='3.8' AND Exists('$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" />
|
||||||
|
<Import Project="$(SolutionDir)\packages\Python39.3.9.0\build\python39.targets" Condition="'$(PythonVersion)'=='3.9' AND Exists('$(SolutionDir)\packages\Python39.3.9.0\build\python39.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
@ -1102,5 +1467,6 @@
|
|||||||
<Error Condition="!Exists('$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" />
|
<Error Condition="!Exists('$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python36.3.6.0\build\python36.targets')" />
|
||||||
<Error Condition="!Exists('$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" />
|
<Error Condition="!Exists('$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python37.1.0.0.1\build\python37.targets')" />
|
||||||
<Error Condition="!Exists('$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" />
|
<Error Condition="!Exists('$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python38.3.8.0\build\python38.targets')" />
|
||||||
|
<Error Condition="!Exists('$(SolutionDir)\packages\Python39.3.9.0\build\python39.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Python39.3.9.0\build\python39.targets')" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
@ -2,7 +2,7 @@
|
|||||||
#define PYKD_VERSION_MAJOR 0
|
#define PYKD_VERSION_MAJOR 0
|
||||||
#define PYKD_VERSION_MINOR 3
|
#define PYKD_VERSION_MINOR 3
|
||||||
#define PYKD_VERSION_SUBVERSION 4
|
#define PYKD_VERSION_SUBVERSION 4
|
||||||
#define PYKD_VERSION_BUILDNO 11
|
#define PYKD_VERSION_BUILDNO 15
|
||||||
|
|
||||||
#define __VER_STR2__(x) #x
|
#define __VER_STR2__(x) #x
|
||||||
#define __VER_STR1__(x) __VER_STR2__(x)
|
#define __VER_STR1__(x) __VER_STR2__(x)
|
||||||
|
@ -266,8 +266,32 @@ inline kdlib::MemoryProtect getVaProtect( kdlib::MEMOFFSET_64 offset )
|
|||||||
return kdlib::getVaProtect(offset);
|
return kdlib::getVaProtect(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline kdlib::MemoryState getVaState(kdlib::MEMOFFSET_64 offset)
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return kdlib::getVaState(offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline kdlib::MemoryType getVaType(kdlib::MEMOFFSET_64 offset)
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return kdlib::getVaType(offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline python::tuple getVaAttributes(kdlib::MEMOFFSET_64 offset)
|
||||||
|
{
|
||||||
|
kdlib::MemoryProtect memProtect;
|
||||||
|
kdlib::MemoryState memState;
|
||||||
|
kdlib::MemoryType memType;
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
memProtect = kdlib::getVaProtect(offset);
|
||||||
|
memState = kdlib::getVaState(offset);
|
||||||
|
memType = kdlib::getVaType(offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
return python::make_tuple(memProtect, memState, memType);
|
||||||
|
}
|
||||||
|
|
||||||
} // end namespace pykd
|
} // end namespace pykd
|
||||||
|
|
||||||
|
137
pykd/pymod.cpp
137
pykd/pymod.cpp
@ -42,7 +42,7 @@ BOOST_PYTHON_FUNCTION_OVERLOADS( terminateProcess_, pykd::terminateProcess, 0,
|
|||||||
BOOST_PYTHON_FUNCTION_OVERLOADS(closeDump_, pykd::closeDump, 0, 1);
|
BOOST_PYTHON_FUNCTION_OVERLOADS(closeDump_, pykd::closeDump, 0, 1);
|
||||||
BOOST_PYTHON_FUNCTION_OVERLOADS( attachKernel_, pykd::attachKernel, 0, 1 );
|
BOOST_PYTHON_FUNCTION_OVERLOADS( attachKernel_, pykd::attachKernel, 0, 1 );
|
||||||
BOOST_PYTHON_FUNCTION_OVERLOADS( evaluate_, pykd::evaluate, 1, 2 );
|
BOOST_PYTHON_FUNCTION_OVERLOADS( evaluate_, pykd::evaluate, 1, 2 );
|
||||||
BOOST_PYTHON_FUNCTION_OVERLOADS( debugCommand_, pykd::debugCommand, 1, 2 );
|
BOOST_PYTHON_FUNCTION_OVERLOADS( debugCommand_, pykd::debugCommand, 1, 3 );
|
||||||
|
|
||||||
BOOST_PYTHON_FUNCTION_OVERLOADS( dprint_, pykd::dprint, 1, 2 );
|
BOOST_PYTHON_FUNCTION_OVERLOADS( dprint_, pykd::dprint, 1, 2 );
|
||||||
BOOST_PYTHON_FUNCTION_OVERLOADS( dprintln_, pykd::dprintln, 1, 2 );
|
BOOST_PYTHON_FUNCTION_OVERLOADS( dprintln_, pykd::dprintln, 1, 2 );
|
||||||
@ -164,7 +164,7 @@ void pykd_init()
|
|||||||
python::def( "startProcess", pykd::startProcess, startProcess_( boost::python::args( "commandline", "debugOptions"),
|
python::def( "startProcess", pykd::startProcess, startProcess_( boost::python::args( "commandline", "debugOptions"),
|
||||||
"Start process for debugging" ) );
|
"Start process for debugging" ) );
|
||||||
python::def("attachProcess", pykd::attachProcess, attachProcess_(boost::python::args("pid", "debugOptions"),
|
python::def("attachProcess", pykd::attachProcess, attachProcess_(boost::python::args("pid", "debugOptions"),
|
||||||
"Attach debugger to a exsisting process"));
|
"Attach debugger to a existing process"));
|
||||||
python::def( "detachProcess", pykd::detachProcess, detachProcess_( boost::python::args( "id" ),
|
python::def( "detachProcess", pykd::detachProcess, detachProcess_( boost::python::args( "id" ),
|
||||||
"Stop process debugging") );
|
"Stop process debugging") );
|
||||||
python::def( "detachAllProcesses", pykd::detachAllProcesses,
|
python::def( "detachAllProcesses", pykd::detachAllProcesses,
|
||||||
@ -191,7 +191,7 @@ void pykd_init()
|
|||||||
python::def( "writeDump", pykd::writeDump,
|
python::def( "writeDump", pykd::writeDump,
|
||||||
"Create memory dump file" );
|
"Create memory dump file" );
|
||||||
python::def( "getLocalProcesses", pykd::getLocalProcesses,
|
python::def( "getLocalProcesses", pykd::getLocalProcesses,
|
||||||
"Return list of runnng processes on the host system" );
|
"Return list of running processes on the host system" );
|
||||||
python::def("getHostProcessPath", pykd::getHostProcessPath,
|
python::def("getHostProcessPath", pykd::getHostProcessPath,
|
||||||
"Return image path of the process running python interpreter with a pykd");
|
"Return image path of the process running python interpreter with a pykd");
|
||||||
python::def( "getDebugOptions", pykd::getDebugOptions,
|
python::def( "getDebugOptions", pykd::getDebugOptions,
|
||||||
@ -202,13 +202,19 @@ void pykd_init()
|
|||||||
"Get output mask");
|
"Get output mask");
|
||||||
python::def("setOutputMask", pykd::setOutputMask,
|
python::def("setOutputMask", pykd::setOutputMask,
|
||||||
"Set output mask");
|
"Set output mask");
|
||||||
|
python::def("getDumpType", pykd::getDumpType,
|
||||||
|
"Return type of the dump");
|
||||||
|
python::def("getDumpFormat", pykd::getDumpFormat,
|
||||||
|
"Return format the dump");
|
||||||
|
|
||||||
python::def( "breakin", pykd::targetBreak,
|
python::def( "breakin", pykd::targetBreak,
|
||||||
"Break into debugger" );
|
"Break into debugger" );
|
||||||
python::def( "expr", pykd::evaluate, evaluate_( python::args( "expression", "cplusplus" ),
|
python::def( "expr", pykd::evaluate, evaluate_( python::args( "expression", "cplusplus" ),
|
||||||
"Evaluate windbg expression" ) );
|
"Evaluate windbg expression" ) );
|
||||||
python::def( "dbgCommand", &pykd::debugCommand,
|
python::def( "dbgCommand", &pykd::debugCommand, debugCommand_( python::args(
|
||||||
debugCommand_( python::args( "command", "suppressOutput"), "Run a debugger's command and return it's result as a string" ) );
|
"command", "suppressOutput", "outputMask"),
|
||||||
|
"Run a debugger's command and return it's result as a string. You can set additional outputMask" \
|
||||||
|
"if you want to get also error messages" ) );
|
||||||
python::def( "go", pykd::targetGo,
|
python::def( "go", pykd::targetGo,
|
||||||
"Go debugging" );
|
"Go debugging" );
|
||||||
python::def( "step", pykd::targetStep,
|
python::def( "step", pykd::targetStep,
|
||||||
@ -216,7 +222,7 @@ void pykd_init()
|
|||||||
python::def( "trace", pykd::targetStepIn,
|
python::def( "trace", pykd::targetStepIn,
|
||||||
"The target is executing a single instruction" );
|
"The target is executing a single instruction" );
|
||||||
python::def("stepout", pykd::targetStepOut,
|
python::def("stepout", pykd::targetStepOut,
|
||||||
"The traget is executing while not returned from the current subroutine");
|
"The target is executing while not returned from the current subroutine");
|
||||||
python::def("sourceStep", pykd::sourceStep,
|
python::def("sourceStep", pykd::sourceStep,
|
||||||
"The target is executing a single source line");
|
"The target is executing a single source line");
|
||||||
python::def("sourceStepOver", pykd::sourceStepOver,
|
python::def("sourceStepOver", pykd::sourceStepOver,
|
||||||
@ -272,7 +278,7 @@ void pykd_init()
|
|||||||
python::def( "isValid", pykd::isVaValid,
|
python::def( "isValid", pykd::isVaValid,
|
||||||
"Check if the virtual address is valid" );
|
"Check if the virtual address is valid" );
|
||||||
python::def("isVaRegionValid", pykd::isVaRegionValid,
|
python::def("isVaRegionValid", pykd::isVaRegionValid,
|
||||||
"Check if the virtaul addresses region is valid");
|
"Check if the virtual addresses region is valid");
|
||||||
python::def( "compareMemory", pykd::compareMemory, compareMemory_( python::args( "offset1", "offset2", "length", "phyAddr" ),
|
python::def( "compareMemory", pykd::compareMemory, compareMemory_( python::args( "offset1", "offset2", "length", "phyAddr" ),
|
||||||
"Compare two memory buffers by virtual or physical addresses" ) );
|
"Compare two memory buffers by virtual or physical addresses" ) );
|
||||||
python::def( "searchMemory", pykd::searchMemoryLst,
|
python::def( "searchMemory", pykd::searchMemoryLst,
|
||||||
@ -280,9 +286,15 @@ void pykd_init()
|
|||||||
python::def( "searchMemory", pykd::searchMemoryStr,
|
python::def( "searchMemory", pykd::searchMemoryStr,
|
||||||
"Search in virtual memory" );
|
"Search in virtual memory" );
|
||||||
python::def( "findMemoryRegion", pykd::findMemoryRegion,
|
python::def( "findMemoryRegion", pykd::findMemoryRegion,
|
||||||
"Return address of begining valid memory region nearest to offset" );
|
"Return address of beginning valid memory region nearest to offset" );
|
||||||
python::def( "getVaProtect", pykd::getVaProtect,
|
python::def( "getVaProtect", pykd::getVaProtect,
|
||||||
"Return memory attributes" );
|
"Return memory protect" );
|
||||||
|
python::def( "getVaType", pykd::getVaType,
|
||||||
|
"Return memory type");
|
||||||
|
python::def( "getVaState", pykd::getVaState,
|
||||||
|
"Return memory state");
|
||||||
|
python::def("getVaAttributes", pykd::getVaAttributes,
|
||||||
|
"Return memory attributes");
|
||||||
|
|
||||||
python::def( "ptrByte", pykd::ptrByte,
|
python::def( "ptrByte", pykd::ptrByte,
|
||||||
"Read an unsigned 1-byte integer from the target memory" );
|
"Read an unsigned 1-byte integer from the target memory" );
|
||||||
@ -355,9 +367,9 @@ void pykd_init()
|
|||||||
python::def( "loadWStr", pykd::loadWStr,
|
python::def( "loadWStr", pykd::loadWStr,
|
||||||
"Load string from the target buffer containing 0-terminated unicode-string" );
|
"Load string from the target buffer containing 0-terminated unicode-string" );
|
||||||
python::def( "loadUnicodeString", pykd::loadUnicodeStr,
|
python::def( "loadUnicodeString", pykd::loadUnicodeStr,
|
||||||
"Return string represention of windows UNICODE_STRING type" );
|
"Return string representation of windows UNICODE_STRING type" );
|
||||||
python::def( "loadAnsiString", pykd::loadAnsiStr,
|
python::def( "loadAnsiString", pykd::loadAnsiStr,
|
||||||
"Return string represention of windows ANSI_STRING type" );
|
"Return string representation of windows ANSI_STRING type" );
|
||||||
python::def( "loadFloats", pykd::loadFloats, loadFloats_( python::args( "offset", "count", "phyAddr" ),
|
python::def( "loadFloats", pykd::loadFloats, loadFloats_( python::args( "offset", "count", "phyAddr" ),
|
||||||
"Read the block of the target's memory and return it as list of floats" ) );
|
"Read the block of the target's memory and return it as list of floats" ) );
|
||||||
python::def( "loadDoubles", pykd::loadDoubles, loadDoubles_( python::args( "offset", "count", "phyAddr" ),
|
python::def( "loadDoubles", pykd::loadDoubles, loadDoubles_( python::args( "offset", "count", "phyAddr" ),
|
||||||
@ -399,7 +411,7 @@ void pykd_init()
|
|||||||
python::def( "setPtr", pykd::setPtr,
|
python::def( "setPtr", pykd::setPtr,
|
||||||
"Write an pointer value to the target memory" );
|
"Write an pointer value to the target memory" );
|
||||||
|
|
||||||
// types and vaiables
|
// types and variables
|
||||||
python::def( "getSourceFile", pykd::getSourceFile, getSourceFile_( python::args( "offset"),
|
python::def( "getSourceFile", pykd::getSourceFile, getSourceFile_( python::args( "offset"),
|
||||||
"Return source file by the specified offset" ) );
|
"Return source file by the specified offset" ) );
|
||||||
python::def("getSourceFileFromSrcSrv", pykd::getSourceFileFromSrcSrv, getSourceFileFromSrcSrv_(python::args("offset"),
|
python::def("getSourceFileFromSrcSrv", pykd::getSourceFileFromSrcSrv, getSourceFileFromSrcSrv_(python::args("offset"),
|
||||||
@ -408,7 +420,7 @@ void pykd_init()
|
|||||||
"Return source file name, line and displacement by the specified offset" ) );
|
"Return source file name, line and displacement by the specified offset" ) );
|
||||||
|
|
||||||
python::def( "getOffset", pykd::getSymbolOffset,
|
python::def( "getOffset", pykd::getSymbolOffset,
|
||||||
"Return traget virtual address for specified symbol" );
|
"Return target virtual address for specified symbol" );
|
||||||
python::def( "findSymbol", pykd::findSymbol, findSymbol_( python::args( "offset", "showDisplacement"),
|
python::def( "findSymbol", pykd::findSymbol, findSymbol_( python::args( "offset", "showDisplacement"),
|
||||||
"Find symbol by the target virtual memory offset" ) );
|
"Find symbol by the target virtual memory offset" ) );
|
||||||
python::def("findSymbolAndDisp", pykd::findSymbolAndDisp,
|
python::def("findSymbolAndDisp", pykd::findSymbolAndDisp,
|
||||||
@ -442,9 +454,9 @@ void pykd_init()
|
|||||||
python::def( "getTypeFromSource", &pykd::getTypeFromSource, getTypeFromSource_( python::args("sourceCode", "typeName", "compileOptions"),
|
python::def( "getTypeFromSource", &pykd::getTypeFromSource, getTypeFromSource_( python::args("sourceCode", "typeName", "compileOptions"),
|
||||||
"Create typeInfo class from C/C++ source code") );
|
"Create typeInfo class from C/C++ source code") );
|
||||||
python::def( "getTypeInfoProviderFromSource", &pykd::getTypeInfoProviderFromSource, getTypeInfoProviderFromSource_( python::args("sourceCode", "compileOptions"),
|
python::def( "getTypeInfoProviderFromSource", &pykd::getTypeInfoProviderFromSource, getTypeInfoProviderFromSource_( python::args("sourceCode", "compileOptions"),
|
||||||
"Create typeInfo provider from C/C++ source code") );
|
"Create typeInfo provider from C/C++ source code") );
|
||||||
python::def( "getTypeInfoProviderFromPdb", &pykd::getTypeInfoProviderFromPdb, getTypeInfoProviderFromPdb_( python::args("filePath", "baseOffset"),
|
python::def( "getTypeInfoProviderFromPdb", &pykd::getTypeInfoProviderFromPdb, getTypeInfoProviderFromPdb_( python::args("filePath", "baseOffset"),
|
||||||
"Create typeInfo provider from pdb file") );
|
"Create typeInfo provider from pdb file") );
|
||||||
python::def("getSymbolProviderFromSource", &pykd::getSymbolProviderFromSource, getSymbolProviderFromSource_(python::args("sourceCode", "compileOptions"),
|
python::def("getSymbolProviderFromSource", &pykd::getSymbolProviderFromSource, getSymbolProviderFromSource_(python::args("sourceCode", "compileOptions"),
|
||||||
"Create symbol provider for source code"));
|
"Create symbol provider for source code"));
|
||||||
python::def("evalExpr", &pykd::evalExpr, evalExpr_(python::args("expression", "scope", "typeProvider"),
|
python::def("evalExpr", &pykd::evalExpr, evalExpr_(python::args("expression", "scope", "typeProvider"),
|
||||||
@ -453,7 +465,7 @@ void pykd_init()
|
|||||||
|
|
||||||
// CPU registers
|
// CPU registers
|
||||||
python::def( "reg", pykd::getRegisterByName,
|
python::def( "reg", pykd::getRegisterByName,
|
||||||
"Return a CPU regsiter value by the register's name" );
|
"Return a CPU register value by the register's name" );
|
||||||
python::def( "reg", pykd::getRegisterByIndex,
|
python::def( "reg", pykd::getRegisterByIndex,
|
||||||
"Return a CPU register value by the register's number");
|
"Return a CPU register value by the register's number");
|
||||||
python::def( "setReg", pykd::setRegisterByName,
|
python::def( "setReg", pykd::setRegisterByName,
|
||||||
@ -521,7 +533,7 @@ void pykd_init()
|
|||||||
|
|
||||||
// breakpoints
|
// breakpoints
|
||||||
python::def( "setBp", &Breakpoint::setSoftwareBreakpoint,
|
python::def( "setBp", &Breakpoint::setSoftwareBreakpoint,
|
||||||
setSoftwareBreakpoint_( python::args( "offset", "callback" ),"Set software breakpoint on executiont" )[python::return_value_policy<python::manage_new_object>()]);
|
setSoftwareBreakpoint_( python::args( "offset", "callback" ),"Set software breakpoint on execution" )[python::return_value_policy<python::manage_new_object>()]);
|
||||||
python::def( "setBp", &Breakpoint::setHardwareBreakpoint,
|
python::def( "setBp", &Breakpoint::setHardwareBreakpoint,
|
||||||
setHardwareBreakpoint_( python::args( "offset", "size", "accsessType", "callback" ),"Set hardware breakpoint")[python::return_value_policy<python::manage_new_object>()]);
|
setHardwareBreakpoint_( python::args( "offset", "size", "accsessType", "callback" ),"Set hardware breakpoint")[python::return_value_policy<python::manage_new_object>()]);
|
||||||
python::def("getNumberBreakpoints", &Breakpoint::getNumberBreakpoints,
|
python::def("getNumberBreakpoints", &Breakpoint::getNumberBreakpoints,
|
||||||
@ -572,7 +584,7 @@ void pykd_init()
|
|||||||
python::def( "getThreadSystemID", pykd::getThreadSystemId, getThreadSystemId_( python::args("Id"),
|
python::def( "getThreadSystemID", pykd::getThreadSystemId, getThreadSystemId_( python::args("Id"),
|
||||||
"Return system thread ID ( TID )" ) );
|
"Return system thread ID ( TID )" ) );
|
||||||
python::def( "getThreadIdByOffset", pykd::getThreadIdByOffset,
|
python::def( "getThreadIdByOffset", pykd::getThreadIdByOffset,
|
||||||
"Return thread ID by the location in the targ et's memory of the thread structure" );
|
"Return thread ID by the location in the target's memory of the thread structure" );
|
||||||
python::def( "getThreadIdBySystemID", pykd::getThreadIdBySystemId, getThreadIdBySystemId_( python::args("Tid"),
|
python::def( "getThreadIdBySystemID", pykd::getThreadIdBySystemId, getThreadIdBySystemId_( python::args("Tid"),
|
||||||
"Return thread ID by the system's thread ID ( TID )" ) );
|
"Return thread ID by the system's thread ID ( TID )" ) );
|
||||||
python::def( "getCurrentThread", pykd::getCurrentThread,
|
python::def( "getCurrentThread", pykd::getCurrentThread,
|
||||||
@ -596,7 +608,7 @@ void pykd_init()
|
|||||||
python::def("getLastEvent", pykd::getLastEvent,
|
python::def("getLastEvent", pykd::getLastEvent,
|
||||||
"Get last debug event information");
|
"Get last debug event information");
|
||||||
python::def("getLastException", pykd::getLastException,
|
python::def("getLastException", pykd::getLastException,
|
||||||
"Get last exception information");
|
"Get last exception information");
|
||||||
|
|
||||||
// symbol path
|
// symbol path
|
||||||
python::def("getSymbolPath", pykd::getSymbolPath,
|
python::def("getSymbolPath", pykd::getSymbolPath,
|
||||||
@ -618,7 +630,7 @@ void pykd_init()
|
|||||||
"The addSyntheticSymbol function adds a synthetic symbol to a module in the current process\n"
|
"The addSyntheticSymbol function adds a synthetic symbol to a module in the current process\n"
|
||||||
"Note: reloading the symbols for the module deletes all synthetic symbols associated with that module.");
|
"Note: reloading the symbols for the module deletes all synthetic symbols associated with that module.");
|
||||||
python::def( "removeSyntheticSymbol", pykd::removeSyntheticSymbol,
|
python::def( "removeSyntheticSymbol", pykd::removeSyntheticSymbol,
|
||||||
"The removeSyntheticSymbol function removes a synthetic symbol from a module in the current proces" );
|
"The removeSyntheticSymbol function removes a synthetic symbol from a module in the current process" );
|
||||||
|
|
||||||
// synthetic module
|
// synthetic module
|
||||||
python::def("addSyntheticModule", pykd::addSyntheticModule, addSyntheticModule_(python::args("base", "size", "name", "path"),
|
python::def("addSyntheticModule", pykd::addSyntheticModule, addSyntheticModule_(python::args("base", "size", "name", "path"),
|
||||||
@ -702,7 +714,7 @@ void pykd_init()
|
|||||||
.def("isDumpAnalyzing", TargetSystemAdapter::isDumpAnalyzing,
|
.def("isDumpAnalyzing", TargetSystemAdapter::isDumpAnalyzing,
|
||||||
"Check if it is a dump analyzing ( not living debuggee )")
|
"Check if it is a dump analyzing ( not living debuggee )")
|
||||||
.def("isKernelDebugging", TargetSystemAdapter::isKernelDebugging,
|
.def("isKernelDebugging", TargetSystemAdapter::isKernelDebugging,
|
||||||
"Check if kernel dubugging is running")
|
"Check if kernel debugging is running")
|
||||||
.def("is64bitSystem", TargetSystemAdapter::is64bitSystem,
|
.def("is64bitSystem", TargetSystemAdapter::is64bitSystem,
|
||||||
"Check if 64 bit system running" )
|
"Check if 64 bit system running" )
|
||||||
.def("isCurrent", TargetSystemAdapter::isCurrent,
|
.def("isCurrent", TargetSystemAdapter::isCurrent,
|
||||||
@ -732,7 +744,7 @@ void pykd_init()
|
|||||||
.def("getProcessById", TargetProcessAdapter::getProcessById,
|
.def("getProcessById", TargetProcessAdapter::getProcessById,
|
||||||
"Return process by id").staticmethod("getProcessById")
|
"Return process by id").staticmethod("getProcessById")
|
||||||
.add_property("systemID", TargetProcessAdapter::getSystemId,
|
.add_property("systemID", TargetProcessAdapter::getSystemId,
|
||||||
"Retrun system process ID ( PID )" )
|
"Return system process ID ( PID )" )
|
||||||
.add_property("id", TargetProcessAdapter::getId,
|
.add_property("id", TargetProcessAdapter::getId,
|
||||||
"Return process id")
|
"Return process id")
|
||||||
.add_property("peb", TargetProcessAdapter::getPebOffset,
|
.add_property("peb", TargetProcessAdapter::getPebOffset,
|
||||||
@ -742,7 +754,7 @@ void pykd_init()
|
|||||||
.def("isCurrent", TargetProcessAdapter::isCurrent,
|
.def("isCurrent", TargetProcessAdapter::isCurrent,
|
||||||
"Check if the target is current")
|
"Check if the target is current")
|
||||||
.def("isManaged", TargetProcessAdapter::isManaged,
|
.def("isManaged", TargetProcessAdapter::isManaged,
|
||||||
"Check if the taget process is managed")
|
"Check if the target process is managed")
|
||||||
.def("getNumberThreads", TargetProcessAdapter::getNumberThreads,
|
.def("getNumberThreads", TargetProcessAdapter::getNumberThreads,
|
||||||
"Return number of threads for this process" )
|
"Return number of threads for this process" )
|
||||||
.def("getThread", TargetProcessAdapter::getThreadByIndex,
|
.def("getThread", TargetProcessAdapter::getThreadByIndex,
|
||||||
@ -792,7 +804,7 @@ void pykd_init()
|
|||||||
.add_property("id", TargetThreadAdapter::getId,
|
.add_property("id", TargetThreadAdapter::getId,
|
||||||
"Return thread's id")
|
"Return thread's id")
|
||||||
.add_property("systemID", TargetThreadAdapter::getSystemId,
|
.add_property("systemID", TargetThreadAdapter::getSystemId,
|
||||||
"Retrun system thread ID ( TID )" )
|
"Return system thread ID ( TID )" )
|
||||||
.add_property("teb", TargetThreadAdapter::getTebOffset,
|
.add_property("teb", TargetThreadAdapter::getTebOffset,
|
||||||
"Return TEB address" )
|
"Return TEB address" )
|
||||||
.add_property( "ip", TargetThreadAdapter::getIP,
|
.add_property( "ip", TargetThreadAdapter::getIP,
|
||||||
@ -812,7 +824,7 @@ void pykd_init()
|
|||||||
.def("isCurrent", TargetThreadAdapter::isCurrent,
|
.def("isCurrent", TargetThreadAdapter::isCurrent,
|
||||||
"Check if this thread is current")
|
"Check if this thread is current")
|
||||||
.def("stack", TargetThreadAdapter::getStack,
|
.def("stack", TargetThreadAdapter::getStack,
|
||||||
"Get thread's stack tarce")
|
"Get thread's stack trace")
|
||||||
.def("__str__", TargetThreadAdapter::print)
|
.def("__str__", TargetThreadAdapter::print)
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -1037,7 +1049,7 @@ void pykd_init()
|
|||||||
.def("__init__", python::make_constructor(pykd::getTypedVarByTypeInfo) )
|
.def("__init__", python::make_constructor(pykd::getTypedVarByTypeInfo) )
|
||||||
.def("__init__", python::make_constructor(pykd::getTypedVarWithPrototype) )
|
.def("__init__", python::make_constructor(pykd::getTypedVarWithPrototype) )
|
||||||
.def("getLocation", TypedVarAdapter::getLocation,
|
.def("getLocation", TypedVarAdapter::getLocation,
|
||||||
"Return location of the varibale")
|
"Return location of the variable")
|
||||||
.def("getAddress", TypedVarAdapter::getAddress,
|
.def("getAddress", TypedVarAdapter::getAddress,
|
||||||
"Return virtual address" )
|
"Return virtual address" )
|
||||||
.def("getDebugStart", TypedVarAdapter::getDebugStart,
|
.def("getDebugStart", TypedVarAdapter::getDebugStart,
|
||||||
@ -1057,7 +1069,7 @@ void pykd_init()
|
|||||||
.def("setField", TypedVarAdapter::setField,
|
.def("setField", TypedVarAdapter::setField,
|
||||||
"Set field of structure")
|
"Set field of structure")
|
||||||
.def("setField", TypedVarAdapter::setElementByIndex,
|
.def("setField", TypedVarAdapter::setElementByIndex,
|
||||||
"Set field of a structire or an element od array")
|
"Set field of a stricture or an element of array")
|
||||||
.def("hasField", TypedVarAdapter::hasField,
|
.def("hasField", TypedVarAdapter::hasField,
|
||||||
"Check if a typedVar object has the specified field")
|
"Check if a typedVar object has the specified field")
|
||||||
.def( "fields", TypedVarAdapter::getFields,
|
.def( "fields", TypedVarAdapter::getFields,
|
||||||
@ -1139,17 +1151,17 @@ void pykd_init()
|
|||||||
.add_property( "stackOffset", StackFrameAdapter::getSP,
|
.add_property( "stackOffset", StackFrameAdapter::getSP,
|
||||||
"Return a frame's stack offset" )
|
"Return a frame's stack offset" )
|
||||||
.def( "getParams", StackFrameAdapter::getParamsList,
|
.def( "getParams", StackFrameAdapter::getParamsList,
|
||||||
"return set of function's parameters as a list of tuple (name, value ) ")
|
"return set of function's parameters as a list of tuple (name, value)")
|
||||||
.add_property( "params", StackFrameAdapter::getParamsDict,
|
.add_property( "params", StackFrameAdapter::getParamsDict,
|
||||||
"return set of function's parameters as a dict (name : value)")
|
"return set of function's parameters as a dict (name : value)")
|
||||||
.def( "getParam", StackFrameAdapter::getParam,
|
.def( "getParam", StackFrameAdapter::getParam,
|
||||||
"return function param by it's name")
|
"return function param by it's name")
|
||||||
.def( "getLocals", StackFrameAdapter::getLocalsList,
|
.def( "getLocals", StackFrameAdapter::getLocalsList,
|
||||||
"return set of function's local variables as a list of tuple (name, value ) ")
|
"return set of function's local variables as a list of tuple (name, value)")
|
||||||
.add_property("locals", StackFrameAdapter::getLocalsDict,
|
.add_property("locals", StackFrameAdapter::getLocalsDict,
|
||||||
"return a set of function's local variables as a dict ( name : value)")
|
"return a set of function's local variables as a dict (name : value)")
|
||||||
.def( "getLocal", StackFrameAdapter::getLocal,
|
.def( "getLocal", StackFrameAdapter::getLocal,
|
||||||
"return the function's local variable by it's name")
|
"return the function's local variable by it's name")
|
||||||
.def( "switchTo", StackFrameAdapter::switchTo,
|
.def( "switchTo", StackFrameAdapter::switchTo,
|
||||||
"Make this frame a current")
|
"Make this frame a current")
|
||||||
.def( "isInline", StackFrameAdapter::isInline,
|
.def( "isInline", StackFrameAdapter::isInline,
|
||||||
@ -1263,7 +1275,7 @@ void pykd_init()
|
|||||||
.value("ChangeSymbolState", kdlib::EventTypeChangeSymbolState)
|
.value("ChangeSymbolState", kdlib::EventTypeChangeSymbolState)
|
||||||
;
|
;
|
||||||
|
|
||||||
python::class_<pykd::DebugEvent>("debugEvent", "Debug evemt descriptions", python::no_init)
|
python::class_<pykd::DebugEvent>("debugEvent", "Debug event descriptions", python::no_init)
|
||||||
.def_readonly("type", &DebugEvent::eventType)
|
.def_readonly("type", &DebugEvent::eventType)
|
||||||
.def_readonly("process", &DebugEvent::process)
|
.def_readonly("process", &DebugEvent::process)
|
||||||
.def_readonly("thread", &DebugEvent::thread)
|
.def_readonly("thread", &DebugEvent::thread)
|
||||||
@ -1277,7 +1289,7 @@ void pykd_init()
|
|||||||
.def( "disasm", DisasmAdapter::jump,
|
.def( "disasm", DisasmAdapter::jump,
|
||||||
"Disassemble from the specified offset" )
|
"Disassemble from the specified offset" )
|
||||||
.def( "asm", DisasmAdapter::assembly,
|
.def( "asm", DisasmAdapter::assembly,
|
||||||
"Insert assemblied instuction to current offset" )
|
"Insert assembled instruction to current offset" )
|
||||||
.def( "begin", DisasmAdapter::begin,
|
.def( "begin", DisasmAdapter::begin,
|
||||||
"Return begin offset" )
|
"Return begin offset" )
|
||||||
.def( "current", DisasmAdapter::current,
|
.def( "current", DisasmAdapter::current,
|
||||||
@ -1313,7 +1325,7 @@ void pykd_init()
|
|||||||
;
|
;
|
||||||
|
|
||||||
python::class_<kdlib::TypeInfoProvider, kdlib::TypeInfoProviderPtr, boost::noncopyable>("typeInfoProvider",
|
python::class_<kdlib::TypeInfoProvider, kdlib::TypeInfoProviderPtr, boost::noncopyable>("typeInfoProvider",
|
||||||
"Get abstaract access to different type info sources", python::no_init)
|
"Get abstract access to different type info sources", python::no_init)
|
||||||
.def( "getTypeByName", TypeInfoProviderAdapter::getTypeByName,
|
.def( "getTypeByName", TypeInfoProviderAdapter::getTypeByName,
|
||||||
"Get type info by it's name" )
|
"Get type info by it's name" )
|
||||||
.def( "typeIterator", TypeInfoProviderAdapter::getTypeIterWithMask, python::return_value_policy<python::manage_new_object>(),
|
.def( "typeIterator", TypeInfoProviderAdapter::getTypeIterWithMask, python::return_value_policy<python::manage_new_object>(),
|
||||||
@ -1332,7 +1344,7 @@ void pykd_init()
|
|||||||
;
|
;
|
||||||
|
|
||||||
python::class_<kdlib::SymbolProvider, kdlib::SymbolProviderPtr, boost::noncopyable>("symbolProvider",
|
python::class_<kdlib::SymbolProvider, kdlib::SymbolProviderPtr, boost::noncopyable>("symbolProvider",
|
||||||
"Get abstaract access to different type info sources", python::no_init)
|
"Get abstract access to different type info sources", python::no_init)
|
||||||
.def("iter", SymbolProviderAdapter::getIterWithMask, python::return_value_policy<python::manage_new_object>(),
|
.def("iter", SymbolProviderAdapter::getIterWithMask, python::return_value_policy<python::manage_new_object>(),
|
||||||
"Return type iterator with specified mask")
|
"Return type iterator with specified mask")
|
||||||
.def("__iter__", SymbolProviderAdapter::getIter, python::return_value_policy<python::manage_new_object>())
|
.def("__iter__", SymbolProviderAdapter::getIter, python::return_value_policy<python::manage_new_object>())
|
||||||
@ -1366,7 +1378,7 @@ void pykd_init()
|
|||||||
.value("ThisCall", kdlib::CallConv_ThisCall )
|
.value("ThisCall", kdlib::CallConv_ThisCall )
|
||||||
.value("MipsCall", kdlib::CallConv_MipsCall )
|
.value("MipsCall", kdlib::CallConv_MipsCall )
|
||||||
.value("Generic", kdlib::CallConv_Generic )
|
.value("Generic", kdlib::CallConv_Generic )
|
||||||
.value("AlphaCall ", kdlib::CallConv_AlphaCall )
|
.value("AlphaCall ", kdlib::CallConv_AlphaCall )
|
||||||
.value("PpcCall", kdlib::CallConv_PpcCall )
|
.value("PpcCall", kdlib::CallConv_PpcCall )
|
||||||
.value("ShCall", kdlib::CallConv_ShCall )
|
.value("ShCall", kdlib::CallConv_ShCall )
|
||||||
.value("ArmCall", kdlib::CallConv_ArmCall )
|
.value("ArmCall", kdlib::CallConv_ArmCall )
|
||||||
@ -1385,12 +1397,12 @@ void pykd_init()
|
|||||||
.value("ARM", kdlib::CPU_ARM )
|
.value("ARM", kdlib::CPU_ARM )
|
||||||
;
|
;
|
||||||
|
|
||||||
python::enum_<kdlib::VarStorage>("Location", "Location of a varibale")
|
python::enum_<kdlib::VarStorage>("Location", "Location of a variable")
|
||||||
.value("Reg", kdlib::RegisterVar)
|
.value("Reg", kdlib::RegisterVar)
|
||||||
.value("Memory", kdlib::MemoryVar)
|
.value("Memory", kdlib::MemoryVar)
|
||||||
;
|
;
|
||||||
|
|
||||||
python::enum_<kdlib::MemoryProtect>("memoryProtect", "Memory protection attribiuties")
|
python::enum_<kdlib::MemoryProtect>("memoryProtect", "Memory protection attributes")
|
||||||
.value("PageNoAccess", kdlib::PageNoAccess)
|
.value("PageNoAccess", kdlib::PageNoAccess)
|
||||||
.value("PageReadOnly", kdlib::PageReadOnly)
|
.value("PageReadOnly", kdlib::PageReadOnly)
|
||||||
.value("PageReadWrite", kdlib::PageReadWrite)
|
.value("PageReadWrite", kdlib::PageReadWrite)
|
||||||
@ -1401,12 +1413,24 @@ void pykd_init()
|
|||||||
.value("PageExecuteWriteCopy", kdlib::PageExecuteWriteCopy)
|
.value("PageExecuteWriteCopy", kdlib::PageExecuteWriteCopy)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
python::enum_<kdlib::MemoryState>("memoryState", "Memory state")
|
||||||
|
.value("Commit", kdlib::MemCommit)
|
||||||
|
.value("Reserve", kdlib::MemReserve)
|
||||||
|
.value("Free", kdlib::MemFree)
|
||||||
|
;
|
||||||
|
|
||||||
|
python::enum_<kdlib::MemoryType>("memoryType", "Memory type")
|
||||||
|
.value("Mapped", kdlib::MemMapped)
|
||||||
|
.value("Image", kdlib::MemImage)
|
||||||
|
.value("Private", kdlib::MemPrivate)
|
||||||
|
;
|
||||||
|
|
||||||
python::enum_<kdlib::ProcessDebugOptions>("ProcessDebugOptions", "Process debug option")
|
python::enum_<kdlib::ProcessDebugOptions>("ProcessDebugOptions", "Process debug option")
|
||||||
.value("BreakOnStart", kdlib::ProcessBreakOnStart)
|
.value("BreakOnStart", kdlib::ProcessBreakOnStart)
|
||||||
.value("BreakOnStop", kdlib::ProcessBreakOnStop)
|
.value("BreakOnStop", kdlib::ProcessBreakOnStop)
|
||||||
.value("DebugChildren", kdlib::ProcessDebugChildren)
|
.value("DebugChildren", kdlib::ProcessDebugChildren)
|
||||||
.value("NoDebugHeap", kdlib::ProcessNoDebugHeap)
|
.value("NoDebugHeap", kdlib::ProcessNoDebugHeap)
|
||||||
.value("Deafult", kdlib::ProcessDebugDefault)
|
.value("Default", kdlib::ProcessDebugDefault)
|
||||||
;
|
;
|
||||||
|
|
||||||
python::class_<EventHandler, boost::noncopyable>(
|
python::class_<EventHandler, boost::noncopyable>(
|
||||||
@ -1418,7 +1442,7 @@ void pykd_init()
|
|||||||
"Triggered module load event. Parameter are long: module base, string: module name\n"
|
"Triggered module load event. Parameter are long: module base, string: module name\n"
|
||||||
"For ignore event method must return eventResult.noChange" )
|
"For ignore event method must return eventResult.noChange" )
|
||||||
.def( "onUnloadModule", &EventHandler::onModuleUnload,
|
.def( "onUnloadModule", &EventHandler::onModuleUnload,
|
||||||
"Triggered module unload event. Parameter are long: module base, string: module name\n"
|
"Triggered module unload event. Parameter are long: module base, string: module name\n"
|
||||||
"For ignore event method must return eventResult.noChange" )
|
"For ignore event method must return eventResult.noChange" )
|
||||||
.def( "onException", &EventHandler::onException,
|
.def( "onException", &EventHandler::onException,
|
||||||
"Triggered exception event. Parameter - exceptionInfo\n"
|
"Triggered exception event. Parameter - exceptionInfo\n"
|
||||||
@ -1512,6 +1536,39 @@ void pykd_init()
|
|||||||
.value("All", kdlib::All)
|
.value("All", kdlib::All)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
python::enum_<kdlib::DumpType>("dumpType", "Dump type")
|
||||||
|
.value("Small", kdlib::Small)
|
||||||
|
.value("Default", kdlib::Default)
|
||||||
|
.value("Full", kdlib::Full)
|
||||||
|
.value("Image", kdlib::Image)
|
||||||
|
.value("KernelSmall", kdlib::KernelSmall)
|
||||||
|
.value("Kernel", kdlib::Kernel)
|
||||||
|
.value("KernelFull", kdlib::KernelFull)
|
||||||
|
;
|
||||||
|
|
||||||
|
python::enum_<kdlib::DumpFormat>("dumpFormat", "Dump format")
|
||||||
|
.value("UserSmallFullMemory", kdlib::UserSmallFullMemory)
|
||||||
|
.value("UserSmallHandleData", kdlib::UserSmallHandleData)
|
||||||
|
.value("UserSmallUnloadedModules", kdlib::UserSmallUnloadedModules)
|
||||||
|
.value("UserSmallIndirectMemory", kdlib::UserSmallIndirectMemory)
|
||||||
|
.value("UserSmallDataSegments", kdlib::UserSmallDataSegments)
|
||||||
|
.value("UserSmallFilterMemory", kdlib::UserSmallFilterMemory)
|
||||||
|
.value("UserSmallFilterPaths", kdlib::UserSmallFilterPaths)
|
||||||
|
.value("UserSmallProcessThreadData", kdlib::UserSmallProcessThreadData)
|
||||||
|
.value("UserSmallPrivateReadWriteMemory", kdlib::UserSmallPrivateReadWriteMemory)
|
||||||
|
.value("UserSmallNoOptionalData", kdlib::UserSmallNoOptionalData)
|
||||||
|
.value("UserSmallFullMemoryInfo", kdlib::UserSmallFullMemoryInfo)
|
||||||
|
.value("UserSmallThreadInfo", kdlib::UserSmallThreadInfo)
|
||||||
|
.value("UserSmallCodeSegments", kdlib::UserSmallCodeSegments)
|
||||||
|
.value("UserSmallNoAuxiliaryState", kdlib::UserSmallNoAuxiliaryState)
|
||||||
|
.value("UserSmallFullAuxiliaryState", kdlib::UserSmallFullAuxiliaryState)
|
||||||
|
.value("UserSmallModuleHeaders", kdlib::UserSmallModuleHeaders)
|
||||||
|
.value("UserSmallFilterTriage", kdlib::UserSmallFilterTriage)
|
||||||
|
.value("UserSmallAddAvxXStateContext", kdlib::UserSmallAddAvxXStateContext)
|
||||||
|
.value("UserSmallIptTrace", kdlib::UserSmallIptTrace)
|
||||||
|
.value("UserSmallIgnoreInaccessibleMem", kdlib::UserSmallIgnoreInaccessibleMem)
|
||||||
|
;
|
||||||
|
|
||||||
// C++ exception translation to python
|
// C++ exception translation to python
|
||||||
pykd::registerExceptions();
|
pykd::registerExceptions();
|
||||||
}
|
}
|
||||||
|
@ -23,4 +23,9 @@ py -3.8 setup.py bdist_zip --plat-name=win-amd64
|
|||||||
py -3.8 setup.py bdist_wheel --plat-name=win32 --python-tag=cp38
|
py -3.8 setup.py bdist_wheel --plat-name=win32 --python-tag=cp38
|
||||||
py -3.8 setup.py bdist_wheel --plat-name=win-amd64 --python-tag=cp38
|
py -3.8 setup.py bdist_wheel --plat-name=win-amd64 --python-tag=cp38
|
||||||
|
|
||||||
|
py -3.9 setup.py bdist_zip --plat-name=win32
|
||||||
|
py -3.9 setup.py bdist_zip --plat-name=win-amd64
|
||||||
|
py -3.9 setup.py bdist_wheel --plat-name=win32 --python-tag=cp39
|
||||||
|
py -3.9 setup.py bdist_wheel --plat-name=win-amd64 --python-tag=cp39
|
||||||
|
|
||||||
py setup.py bdist_pdb
|
py setup.py bdist_pdb
|
@ -9,7 +9,7 @@ import itertools
|
|||||||
|
|
||||||
_name = "pykd"
|
_name = "pykd"
|
||||||
_desc = "python windbg extension"
|
_desc = "python windbg extension"
|
||||||
_version = '0.3.4.10'
|
_version = '0.3.4.15'
|
||||||
|
|
||||||
def getReleaseSrc():
|
def getReleaseSrc():
|
||||||
return 'Release_%d.%d' % sys.version_info[0:2]
|
return 'Release_%d.%d' % sys.version_info[0:2]
|
||||||
@ -110,7 +110,7 @@ elif "bdist_zip" in sys.argv:
|
|||||||
elif "bdist_pdb" in sys.argv:
|
elif "bdist_pdb" in sys.argv:
|
||||||
|
|
||||||
#make pdb archive
|
#make pdb archive
|
||||||
pyVersion = ('2.7', '3.5', '3.6', '3.7', '3.8')
|
pyVersion = ('2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11')
|
||||||
platform = ('Win32', 'x64')
|
platform = ('Win32', 'x64')
|
||||||
|
|
||||||
pdbFiles = [ os.path.join( platform, 'Release_' + version, 'pykd.pdb') for version, platform in itertools.product( pyVersion, platform ) ]
|
pdbFiles = [ os.path.join( platform, 'Release_' + version, 'pykd.pdb') for version, platform in itertools.product( pyVersion, platform ) ]
|
||||||
|
@ -227,7 +227,7 @@ class IpPacket:
|
|||||||
s += "\tflags: %x\n" % self.flags
|
s += "\tflags: %x\n" % self.flags
|
||||||
s += "\toffset: %x" % ( self.offset * 8)
|
s += "\toffset: %x" % ( self.offset * 8)
|
||||||
if ( self.offset == 0 ) and ( self.flags & 0x4 == 0 ):
|
if ( self.offset == 0 ) and ( self.flags & 0x4 == 0 ):
|
||||||
s += " (not fargmented)\n"
|
s += " (not fragmented)\n"
|
||||||
elif self.offset == 0 :
|
elif self.offset == 0 :
|
||||||
s += " (first fragment)\n"
|
s += " (first fragment)\n"
|
||||||
elif not ( self.flags & 0x4 == 0 ):
|
elif not ( self.flags & 0x4 == 0 ):
|
||||||
@ -480,7 +480,7 @@ def getPacketsFromNbl( nblAddr ):
|
|||||||
|
|
||||||
except TypeException:
|
except TypeException:
|
||||||
|
|
||||||
dprintln( "the symbols ar wrong" )
|
dprintln( "the symbols are wrong" )
|
||||||
|
|
||||||
def printNblStruct( nblAddr, showNdisStruct = False, beginProtocol="eth", beginOffset=0 ):
|
def printNblStruct( nblAddr, showNdisStruct = False, beginProtocol="eth", beginOffset=0 ):
|
||||||
|
|
||||||
@ -525,7 +525,7 @@ def printNblStruct( nblAddr, showNdisStruct = False, beginProtocol="eth", beginO
|
|||||||
|
|
||||||
except TypeException:
|
except TypeException:
|
||||||
|
|
||||||
dprintln( "the symbols ar wrong" )
|
dprintln( "the symbols are wrong" )
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
@ -536,7 +536,7 @@ def main():
|
|||||||
parser = OptionParser(usage="usage: !py nbl [options] address")
|
parser = OptionParser(usage="usage: !py nbl [options] address")
|
||||||
parser.add_option("-s", "--struct", action="store_true", dest="showNdisStruct", default=False, help="Show NDIS structures" )
|
parser.add_option("-s", "--struct", action="store_true", dest="showNdisStruct", default=False, help="Show NDIS structures" )
|
||||||
parser.add_option("-p", "--proto", action="store", type="string", dest="startProtocol", default="eth", help="Packet protocol. Can be eth, ip4, ip6, tcp, udp. By default - eth." )
|
parser.add_option("-p", "--proto", action="store", type="string", dest="startProtocol", default="eth", help="Packet protocol. Can be eth, ip4, ip6, tcp, udp. By default - eth." )
|
||||||
parser.add_option("-o", "--offset", action="store", type="long", dest="beginOffset", default=0, help="Bytes offset from packet begining" )
|
parser.add_option("-o", "--offset", action="store", type="long", dest="beginOffset", default=0, help="Bytes offset from packet beginning" )
|
||||||
parser.add_option("-r", "--raw", action="store_true", dest="rawBuffer", default=False, help="Show raw buffer")
|
parser.add_option("-r", "--raw", action="store_true", dest="rawBuffer", default=False, help="Show raw buffer")
|
||||||
|
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
@ -183,6 +183,12 @@ class MemoryTest( unittest.TestCase ):
|
|||||||
self.assertFalse( pykd.isValid( 0 ) )
|
self.assertFalse( pykd.isValid( 0 ) )
|
||||||
self.assertFalse( pykd.isValid( 0xDEADBEAF ) )
|
self.assertFalse( pykd.isValid( 0xDEADBEAF ) )
|
||||||
|
|
||||||
|
def testVaAttrib(self):
|
||||||
|
self.assertEqual( \
|
||||||
|
(pykd.memoryProtect.PageWriteCopy, pykd.memoryState.Commit, pykd.memoryType.Image), \
|
||||||
|
pykd.getVaAttributes(target.module.begin()) \
|
||||||
|
)
|
||||||
|
|
||||||
def testPtrList( self ):
|
def testPtrList( self ):
|
||||||
lst = pykd.loadPtrList( target.module.g_listHead )
|
lst = pykd.loadPtrList( target.module.g_listHead )
|
||||||
self.assertEqual( 5, len( lst ) )
|
self.assertEqual( 5, len( lst ) )
|
||||||
|
@ -303,8 +303,8 @@ class TypedVarTest( unittest.TestCase ):
|
|||||||
def testUdtSubscribe(self):
|
def testUdtSubscribe(self):
|
||||||
tv = pykd.typedVar( "g_virtChild" )
|
tv = pykd.typedVar( "g_virtChild" )
|
||||||
self.assertEqual( 6, len(tv) )
|
self.assertEqual( 6, len(tv) )
|
||||||
fieldName = tv.fieldName(5)
|
fieldName = tv.fieldName(3)
|
||||||
fieldVal = tv.field(5)
|
fieldVal = tv.field(3)
|
||||||
|
|
||||||
self.assertEqual( fieldName, "m_baseField" )
|
self.assertEqual( fieldName, "m_baseField" )
|
||||||
self.assertEqual( fieldVal, tv.m_baseField )
|
self.assertEqual( fieldVal, tv.m_baseField )
|
||||||
|
Loading…
Reference in New Issue
Block a user