| Current File : //usr/local/lib/python3.6/site-packages/ptrace/debugger/__pycache__/backtrace.cpython-36.pyc |
3
�dD � @ sb d dl mZmZ d dlmZmZ d dlmZ G dd� de�Z G dd� de�Z
dd
d�Zdd
� ZdS )� )�
formatAddress�
formatWordHex)�
CPU_WORD_SIZE�CPU_MAX_UINT)�PtraceErrorc @ s e Zd ZdZdd� Zdd� ZdS )�BacktraceFramez�
Backtrace frame.
Attributes:
- ip: instruction pointer
- name: name of the function
- arguments: value of the arguments
c C s || _ d| _g | _d S )Nz???)�ip�name� arguments)�selfr � r �B/tmp/pip-build-in2aja_b/python-ptrace/ptrace/debugger/backtrace.py�__init__ s zBacktraceFrame.__init__c C s, dd� | j D �}dt| j�| jdj|�f S )Nc s s | ]}t |�V qd S )N)r )�.0�argr r r
� <genexpr> s z)BacktraceFrame.__str__.<locals>.<genexpr>zIP=%s: %s (%s)z, )r
r r r �join)r r
r r r
�__str__ s zBacktraceFrame.__str__N)�__name__�
__module__�__qualname__�__doc__r r r r r r
r s r c @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )� BacktracezA
Backtrace: all process frames since the start function.
c C s g | _ d| _d S )NF)�frames� truncated)r r r r
r s zBacktrace.__init__c C s | j j|� d S )N)r �append)r �framer r r
r # s zBacktrace.appendc C s
t | j�S )N)�iterr )r r r r
�__iter__&