Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #45690

Modules list-tool

Path csiph.com!usenet.pasdenom.info!news.etla.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <gvanem@broadpark.no>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.009
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; 'run-time': 0.05; 'method.': 0.07; 'events.': 0.09; 'skip:g 60': 0.09; 'skip:k 40': 0.09; 'python': 0.11; '(when': 0.16; '(written': 0.16; 'skip:f 90': 0.16; 'skip:g 50': 0.16; 'skip:q 50': 0.16; 'subject:Modules': 0.16; 'time)?': 0.16; 'bit': 0.19; 'skip:f 30': 0.19; 'stack': 0.19; 'example': 0.22; 'simpler': 0.24; 'x-mailer:microsoft outlook express 6.00.2900.5931': 0.24; '(or': 0.24; 'shown': 0.26; '[1]': 0.29; 'skip:( 40': 0.30; 'skip:g 30': 0.30; 'subject:list': 0.30; 'anyone': 0.31; 'running': 0.33; 'to:name:python-list': 0.33; 'tool': 0.35; 'something': 0.35; 'but': 0.35; 'there': 0.35; 'charset:us-ascii': 0.36; 'url:microsoft': 0.37; 'list': 0.37; 'e.g.': 0.38; 'to:addr :python-list': 0.38; 'skip:- 10': 0.38; 'launch': 0.39; 'to:addr:python.org': 0.39; 'skip:n 30': 0.60; 'show': 0.63; 'sample': 0.67; '.....': 0.78; 'explorer': 0.84; 'subject:tool': 0.84; 'url:en-gb': 0.91
MIME-version 1.0
Content-transfer-encoding 7BIT
Content-type text/plain; CHARSET=US-ASCII; format=flowed; reply-type=original
From Gisle Vanem <gvanem@broadpark.no>
To Python-list <python-list@python.org>
Subject Modules list-tool
Date Tue, 21 May 2013 21:35:46 +0200
X-Priority 3
X-MSMail-priority Normal
X-Mailer Microsoft Outlook Express 6.00.2900.5931
X-MIMEOLE Produced By Microsoft MimeOLE V6.00.2900.6157
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.1941.1369168552.3114.python-list@python.org> (permalink)
Lines 60
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1369168552 news.xs4all.nl 15870 [2001:888:2000:d::a6]:41421
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:45690

Show key headers only | View raw


Are anyone aware of a tool that can show me at run-time
which modules (pyd/dll) are loaded into a Python program 
at a specific time (or over time)?

To clarify, e.g. when running a sample from PyQt4
(examples\tutorials\addressbook\part1.pyw) and using Process Explorer [1],
I can launch WinDbg from it and get this list of modules:
....

ModLoad: 1d000000 1d00a000   G:\ProgramFiler\Python27\python.EXE
ModLoad: 7c900000 7c9b1000   F:\WINDOWS\system32\ntdll.dll
ModLoad: 7c800000 7c8f7000   F:\WINDOWS\system32\kernel32.dll
ModLoad: 1e000000 1e261000   f:\windows\system32\python27.dll
ModLoad: 7e410000 7e4a1000   F:\WINDOWS\system32\USER32.dll
ModLoad: 77f10000 77f59000   F:\WINDOWS\system32\GDI32.dll
ModLoad: 77dc0000 77e6a000   F:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77e70000 77f03000   F:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77fe0000 77ff1000   F:\WINDOWS\system32\Secur32.dll
ModLoad: 7c9c0000 7d1d8000   F:\WINDOWS\system32\SHELL32.dll
ModLoad: 77c00000 77c58000   F:\WINDOWS\system32\msvcrt.dll
ModLoad: 77f60000 77fd6000   F:\WINDOWS\system32\SHLWAPI.dll
ModLoad: 78520000 785c3000   f:\windows\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_31a54e43\MSVCR90.dll
ModLoad: 76370000 7638d000   f:\windows\system32\IMM32.DLL
ModLoad: 62f20000 62f29000   f:\windows\system32\LPK.DLL
ModLoad: 75420000 7548b000   f:\windows\system32\USP10.dll
ModLoad: 773c0000 774c3000 
f:\windows\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
ModLoad: 5d5d0000 5d66a000   F:\WINDOWS\system32\comctl32.dll
ModLoad: 78aa0000 78b5f000   f:\windows\system32\MSVCR100.dll
ModLoad: 00d90000 00f29000   g:\ProgramFiler\Python27\lib\site-packages\PyQt4\QtCore.pyd
ModLoad: 67000000 67260000   g:\ProgramFiler\Python27\lib\site-packages\PyQt4\QtCore4.dll
ModLoad: 774d0000 7760e000   F:\WINDOWS\system32\ole32.dll
ModLoad: 71aa0000 71ab7000   f:\windows\system32\WS2_32.dll
ModLoad: 71a90000 71a98000   f:\windows\system32\WS2HELP.dll
ModLoad: 78480000 7850e000   f:\windows\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_x-ww_31a54e43\MSVCP90.dll
ModLoad: 00a60000 00a73000   g:\ProgramFiler\Python27\lib\site-packages\sip.pyd
ModLoad: 011f0000 0177f000   g:\ProgramFiler\Python27\lib\site-packages\PyQt4\QtGui.pyd
ModLoad: 65000000 657c4000   g:\ProgramFiler\Python27\lib\site-packages\PyQt4\QtGui4.dll
...

-------------

My example may be mooth since part1.pyw above (when I enter
the debugger) is just waiting for events. The stack of pythonw.exe 
as shown in Process Explorer:
...
ntdll.dll!ZwWaitForMultipleObjects+0xc
kernel32.dll!WaitForMultipleObjectsEx+0x12c
USER32.dll!RealMsgWaitForMultipleObjectsEx+0x13e
QtCore4.dll!QEventDispatcherWin32::processEvents+0x3c3
ntdll.dll!RtlAcquirePebLock+0x28

Is there a tool that can do something similar? (written in Python maybe?). 
But a bit simpler to use than my current method. Just launch it from the 
command-line; something like "pyXX part1.pyw <more args>"

[1] http://technet.microsoft.com/en-gb/sysinternals/bb896653

--gv 

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Modules list-tool Gisle Vanem <gvanem@broadpark.no> - 2013-05-21 21:35 +0200

csiph-web