Current File : //usr/lib/python3/dist-packages/bcc/__pycache__/__init__.cpython-312.pyc |
�
fu
� �l � d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZddlm
Z
mZmZmZmZ ddlmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ ddl m!Z! dd l"m#Z#m$Z$ dd
l%m&Z&m'Z' e( dZ+d a,d� Z-d
Z.ej^ ja e.d� Z1ej^ je e1� sdZ1dZ3dZ4dZ5dZ6dZ7dZ8 G d� de9� Z: G d� d� Z; G d� d� Z< G d� d� Z= G d� d� Z> G d� d � Z? G d!� d"� Z@ G d#� d$� ZA G d%� d&� ZB G d'� d(e9� ZCy# e)$ r e*Z(Y ��w xY w))� )�print_functionN� )�lib�
bcc_symbol�bcc_symbol_option�bcc_stacktrace_build_id�_SYM_CB_TYPE)�Table�PerfEventArray�RingBuf�BPF_MAP_TYPE_QUEUE�BPF_MAP_TYPE_STACK)�Perf)�get_online_cpus�printb�_assert_is_bytes� ArgString�
StrcmpRewrite)�__version__)�disassemble_prog�
decode_map)�USDT�
USDTExceptioni� c � � t S �N)�_num_open_probes� � �./usr/lib/python3/dist-packages/bcc/__init__.py�_get_num_open_probesr + s � ��r z/sys/kernel/debug�tracingz/sys/kernel/tracing� � � � � c � � e Zd Zd� Zd� Zd� Zy)�SymbolCachec � � t j |t j d t j t
� � � | _ y r )r �bcc_symcache_new�ct�cast�POINTERr �cache)�self�pids r �__init__zSymbolCache.__init__D s/ � ��)�)��R�W�W�T�2�:�:�.?�#@�A�C��
r c �� � t � }|r5t j | j |t j
|� � }n4t j | j |t j
|� � }|dk rb|j rQ|j rEd|j t j |j t j � j fS d|dfS |r5|j }t j t j
|� � n|j }||j t j |j t j � j fS )a�
Return a tuple of the symbol (function), its offset from the beginning
of the function, and the module in which it lies. For example:
("start_thread", 0x202, "/usr/lib/.../libpthread-2.24.so")
If the symbol cannot be found but we know which module it is in,
return the module name and the offset from the beginning of the
module. If we don't even know the module, return the absolute
address as the offset.
r N)r r �bcc_symcache_resolver. r+ �byref� bcc_symcache_resolve_no_demangle�module�offsetr, �c_char_p�value�
demangle_name�bcc_symbol_free_demangle_name�name)r/ �addr�demangle�sym�res�name_ress r �resolvezSymbolCache.resolveH s� � � �l����*�*�4�:�:�t�R�X�X�c�]�K�C��6�6�t�z�z�4�79�x�x��}�F�C���7��z�z�c�j�j��c�j�j�����
�
�B�K�K�8�>�>�@� @��$��%�%���(�(�H��-�-�b�h�h�s�m�<��x�x�H��#�*�*�b�g�g�c�j�j�"�+�+�&F�&L�&L�M�Mr c �� � t |� }t |� }t j � }t j | j
||t j |� � dk ry|j S )Nr ���)r r+ �c_ulonglongr �bcc_symcache_resolve_namer. r4 r9 )r/ r6 r<