Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #4576
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | "Diez B. Roggisch" <deets@web.de> |
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Tracing der Funktionsaufrufe in Python |
| Date | Thu, 3 Nov 2016 12:25:31 +0100 |
| Lines | 61 |
| Message-ID | <mailman.15.1478173111.7975.python-de@python.org> (permalink) |
| References | <CADAgN38bg78-K5h3UaWi2iTLYboXHK_50r1dmeGwH5JTXbGBiA@mail.gmail.com> <16232C6C-5DC8-484C-AE12-DE4197FE611C@web.de> |
| Mime-Version | 1.0 (Mac OS X Mail 10.1 \(3251\)) |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | news.uni-berlin.de 1Ug/zsO2vOA0+QJLx0/WYQe1kFdXevfIRA/Vv/R/Ru4w== |
| Return-Path | <deets@web.de> |
| X-Original-To | python-de@python.org |
| Delivered-To | python-de@mail.python.org |
| In-Reply-To | <CADAgN38bg78-K5h3UaWi2iTLYboXHK_50r1dmeGwH5JTXbGBiA@mail.gmail.com> |
| X-Mailer | Apple Mail (2.3251) |
| X-Provags-ID | V03:K0:+uCNaRD1o6SV/I3tmNFdrlGrxorm+dooM3bcfk9qK1VGe4x0akp 5lkkSDmkKZ+xWQN+BPXQleZ82Bfy53iwOgRuH0O1T4MUc+OJkT5nA0VSFpu909DDgoc+hEL HKw53iA/D/3E1OLxC/MVMXg2wcja+/X769LxnrkIC1myO0CxW5rf5DGkCLBIH3+12fs3ZoJ dYs6E9B9GCjzSXavgH02g== |
| X-UI-Out-Filterresults | notjunk:1;V01:K0:wbH/mdyywEg=:8sbjmKKeUuvqwvylxAf5qw AtntXWJ24gOYGzTymnj/isKYtEc5ZU+GwcKUJu/A+GZeoVbwp2CuZBHhXlKZ++R9OtIp6LkxM /DydQvalcmH5qOdvQI27PocKEWq7aiLr6WgZgxXwy2xMHKNWihFslCtjIZSU6pwlWGRJlpTUQ MbcVTwP6yR62mG2/wOF4gOUUNQUU2/PzKWsbkEdbUaM3NJgzrBypdWG1egrEepGqlwusOuqYb eHxTFZT+TGFqKXDU+JAlMmWHNYSaJ463K+I0Vw4E1fSTTwxlcfKBH7IRBWBwKGbTynR28qSvw jRTLlaGxPCofCXuIN/wt9R7AIevFY9ExlZKi1AvjlUUsTZbI5hamO3tMg6b7+M0dhKe/y37Sq DmGnqN67KXJK7q+bD1FVukkrKQvpNTWZnDCGV55maPM1KGpwx0brrJClofxD4e+XrRPUePbRE ZdwW8LdOmszktR1lbkbSSEmsh1b/Mdowf24O4buj0o0KjSk6PbRH9hnmkJaQi2jHKcO2+e2KE Ju1h8+mFJFXBJk85rY6JNSLxyQDQkA/38jHA1j1cVjkoGtBemkdOD1RWiscI3CAINyYWxvSad 2ZoHX672nxrNrCm8Q7dlCNc9mJ4RWfZKRAEh1Wz1Kp5sYzBlSYhC4XwTQBfU5unZMaqPUNrFs 4KKBysE/aKM3X8JZU6MBbv2COSCXw1OS8NnJYU3Hx07lWKDfo5CImBaQgPSACVS28vISNWo6B hJv9ePsEqJgJyO3cEI8r1oRTlu719LhoXN6rutN9AeIv/nUslFFCqPLOQ5ckKx+55JewBVTPq 70cdqgu |
| X-BeenThere | python-de@python.org |
| X-Mailman-Version | 2.1.23 |
| Precedence | list |
| List-Id | Die Deutsche Python Mailingliste <python-de.python.org> |
| List-Unsubscribe | <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-de/> |
| List-Post | <mailto:python-de@python.org> |
| List-Help | <mailto:python-de-request@python.org?subject=help> |
| List-Subscribe | <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe> |
| X-Mailman-Original-Message-ID | <16232C6C-5DC8-484C-AE12-DE4197FE611C@web.de> |
| X-Mailman-Original-References | <CADAgN38bg78-K5h3UaWi2iTLYboXHK_50r1dmeGwH5JTXbGBiA@mail.gmail.com> |
| Xref | csiph.com de.comp.lang.python:4576 |
Show key headers only | View raw
Hallo, Ich habe mal aus Spass fuer den LLDB einen Stacktrace Analyzer gebaut, mit dem man im LLDB den Python-Stacktrace bekommt. Das ist also quasi die Kombination aus lldb + pdb. In Grenzen. Aber fuer ein solches Tracing koennte es funktionieren. Ob es einfacher ist als das haendische rausfummeln musst du entscheiden. Und wie immer bei solchen Problemen stellt sich die Frage nach dem “warum” - wenn du das beleuchten wuerdest, koennte man ggf. alternative Herangehensweisen vorschlagen. Diez > On 3 Nov 2016, at 11:57, Christian Junker <christianjunker@gmail.com> wrote: > > Hallo zusammen, > > ich interessiere mich dafür, welche Python Funktion/Methode welche C > Funktionen im Kern des CPython Interpreters aufruft (voller Call > Stack) und zusätzlich auch für das Profiling dieser C Funktionen. > Leider konnte ich bisher für diesen Zweck kein Modul finden. > > Nehmen wir das Beispiel der print Funktion in Python3. Letztlich ruft > diese, wenn ich den Source Code CPythons richtig verstehe die Funktion > builtin_print (definiert in Python/bltinmodule.c) auf. Diese Funktion > wiederum nutzt Funktionen aus der Python C API, wie bspw. > PyArg_ParseTupleAndKeywords zum Auslesen der übergebenen Parameter, > oder PyFile_WriteObject zum Schreiben des Inputs in den entsprechenden > Outputstream. PyFile_WriteObject wiederum holt sich das Attribut > "write" des Outputstream Objekts und ruft dann PyEval_CallObject > darauf auf, usw. > > Ein Modul, das mir diesen Function Stack transparent machen plus ein > bis auf die C Ebene aufgeschlüsseltes Profiling anbieten würde, wäre > eine feine Sache. > Bisher habe ich mich ohne Erfolg an pdb, vmprof, dem Bauen CPythons > mit dem debug flag und ltrace versucht. Sicherlich gäbe es die > Möglichkeit mittels gdb oder valgrind an diese Call Stacks > heranzukommen, aber diese Tools sind nicht gerade leichtgewichtig. > > Kennt jemand mögliche Techniken / Module, die mir dies ermöglichen, > oder ist es wirklich nur durch Studium des Interpreter-Quellcodes > möglich? > > -- > Mit freundlichen Grüßen/best regards > Christian Junker > _______________________________________________ > python-de maillist - python-de@python.org > https://mail.python.org/mailman/listinfo/python-de >
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Tracing der Funktionsaufrufe in Python "Diez B. Roggisch" <deets@web.de> - 2016-11-03 12:25 +0100
csiph-web