Sindbad~EG File Manager

Current Path : /usr/local/share/gdb/python/gdb/dap/__pycache__/
Upload File :
Current File : /usr/local/share/gdb/python/gdb/dap/__pycache__/breakpoint.cpython-311.pyc

�

��g6�
�x�ddlZddlmZddlmZmZddlZddlmZm	Z	m
Z
ddlmZddl
mZmZmZmZmZddlmZd	aed
���Zed���Zed���Zed
���Zejj�e��ejj�e��ejj�e��iaed���Z d�Z!ed���Z"Gd�dej#��Z$edd�d���Z%ed���Z&edddd�de'dee(dee(dee(fd���Z)e	d��ed��ed��ed��d d!�d"efd#���������Z*eddd$�d%e(dee(dee(fd&���Z+e	d'��ed(��d"efd)�����Z,edddd*�d+e(d,ee'dee(dee(fd-���Z-e	d.��ed/��dd0�d"ed,ee'fd1�����Z.ed2���Z/ed3���Z0edd4�d5e(dee(fd6���Z1e	d7��ed8��ed9d:d;d<d=�d>d?d<d=�d@dAd<d=�dBdCd<d=�dDdEd<d=�f��d dF�dGee(dHefdI�������Z2dS)J�N)�contextmanager)�Optional�Sequence�)�
capability�request�
send_event)�make_source)�DAPException�LogLevel�
in_gdb_thread�	log_stack�parse_and_eval)�
type_checkFc#�8K�t}da	dV�|adS#|awxYw)zCReturn a new context manager that suppresses new breakpoint events.TN)�_suppress_bp)�saveds �./gdb/dap/breakpoint.py�suppress_new_breakpoint_eventr!s:����
�E��L���
�
�
������u�����s��c�X�ts"tddt|��d���dSdS)N�
breakpoint�changed��reasonr�rr	�_breakpoint_descriptor��events r�_bp_modifiedr-�M���
���#�4�U�;�;�
�
�	
�	
�	
�	
�	
�
�
�c�X�ts"tddt|��d���dSdS)Nr�newrrrs r�_bp_createdr$:sM���
����4�U�;�;�
�
�	
�	
�	
�	
�	
�
�
r!c�X�ts"tddt|��d���dSdS)Nr�removedrrrs r�_bp_deletedr'Gr r!c�*�|j|jd�}|jrd|d<|jro|jd}|jr=|j\}}|j�|j}|�t
|��|d���|jrt|j��|d<|S)z?Return the Breakpoint object descriptor given a gdb Breakpoint.)�id�verified�pendingrrN)�source�line�instructionReference)	�numberr+�	locationsr,�fullname�updater
�address�hex)�bp�result�loc�filenamer-s     rrras����i��
�N���F�
�z�%�$��x��	�|�>��l�1�o���:�
	�"�z��X�t��|�'��<���M�M�)�(�3�3� ���
�
�
��;�	>�-0���-=�-=�F�)�*��Mr!c� ���fd�|D��S)Nc�<��g|]}��|d����S�N)�pop)�.0�name�tables  �r�
<listcomp>z#_remove_entries.<locals>.<listcomp>�s'���4�4�4�d�E�I�I�d�D�!�!�4�4�4r!�)r?�namess` r�_remove_entriesrC�s���4�4�4�4�e�4�4�4�4r!c
�Z�|tvrt|}ni}it|<g}t��5|D�]/}t|dd��\}}t|�����}d}		||vr|�|��}	n|d	i|��}	||	_|�d|	_n#tt|d�����|	_|	t||<|�
t|	������#t$r`}
ttj��|	�|	���|�
ddt#|
��d���Yd}
~
��)d}
~
wwxYw	ddd��n#1swxYwY|���D]}|����|S)
N�	condition�hitConditionrT)�global_contextF�failed)r*r�messagerA)�breakpoint_maprrC�	frozenset�itemsr<rE�ignore_count�intr�appendr�	Exceptionrr�FULL�delete�str�values)�kind�specs�creator�	saved_mapr6�specrE�
hit_condition�keyspecr5�e�entrys            r�_set_breakpoints_callbackr^�s8���~���"�4�(�	�	��	��N�4��
�F�	&�	(�	(�/�/��.	�.	�D�*9��k�>�*�*�&�Y�
� ��
�
���-�-�G�
�B�!
��i�'�'�"���w�/�/�B�B� ����4���B�(��� �(�&'�B�O�O�&)�&�}�T�J�J�J�'�'�B�O�
13��t�$�W�-��
�
�4�R�8�8�9�9�9�9���
�
�
��(�-�(�(�(��>��I�I�K�K�K��
�
�$)�"*�#&�q�6�6���������������
����?.	�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/�d�!�!�#�#����
��������Ms=�=E5�2BC;�:E5�;
E%�AE �E5� E%�%E5�5E9�<E9c�$��eZdZ�fd�Zd�Z�xZS)�_PrintBreakpointc�n��t��jdi|��tjd|��|_dS)Nz{(.*?)}rA)�super�__init__�re�splitrI)�self�
logMessage�args�	__class__s   �rrcz_PrintBreakpoint.__init__�s7�������� � �4� � � ��x�	�:�6�6����r!c�.�d}t|j��D]j\}}|dzdkr||z
}�	tj|��}|t	|��z
}�<#t
$r"}|dt	|��zdzz
}Yd}~�cd}~wwxYwt
dd|d���d	S)
N��r�<�>�output�console)�categoryroF)�	enumeraterI�gdbrrSrPr	)rfro�idx�item�valr\s      r�stopz_PrintBreakpoint.stop�s�����"�4�<�0�0�
	1�
	1�I�C���Q�w�!�|�|��$����
1��,�T�2�2�C��c�#�h�h�&�F�F�� �1�1�1��c�C��F�F�l�S�0�0�F�F�F�F�F�F�����1������%� �
�
�	
�	
�	
��us�&A�
A?�A:�:A?)�__name__�
__module__�__qualname__rcrw�
__classcell__)ris@rr`r`�sG�������7�7�7�7�7�
������r!r`)rgc�B�|�
t|fi|��Stjdi|��S)NrA)r`rs�
Breakpoint)rgrhs  r�_set_one_breakpointr~�s4�����
�3�3�d�3�3�3��~�%�%��%�%�%r!c�.�t||t��Sr;)r^r~)rUrVs  r�_set_breakpointsr��s��$�T�5�2E�F�F�Fr!)rErFrgr-rErFrgc��|d||||d�S)N�path)r,r-rErFrgrA)r,r-rErFrgrhs      r�_rewrite_src_breakpointr�s&����.���$� ���r!�setBreakpoints�!supportsHitConditionalBreakpoints�supportsConditionalBreakpoints�supportsLogPointsrA)�breakpointsr�c��d|vrg}nFg}|D]&}||d<|�tdi|�����'d|dz}t||��}d|iS)Nr�r,zsource:r�rA)rOr�r�)r,r�rhr6rVr5�keys       r�set_breakpointr�s���
�V������
���	8�	8�B�!�B�x�L��L�L�0�6�6�2�6�6�7�7�7�7��&��.�(��!�#�u�-�-���v��r!)rErFr>c��|||d�S)N)�functionrErFrA)r>rErFrhs    r�_rewrite_fn_breakpointr�2s����$���r!�setFunctionBreakpoints�supportsFunctionBreakpointsc�>�d�|D��}dtd|��iS)Nc�&�g|]}tdi|����S�rA)r��r=r5s  rr@z%set_fn_breakpoint.<locals>.<listcomp>Ds'��@�@�@�b�
#�
)�
)�b�
)�
)�@�@�@r!r�r��r�)r�rhrVs   r�set_fn_breakpointr�As2��
A�@�K�@�@�@�E��'�
�E�:�:��r!)�offsetrErFr.r�c�F�d|z}|�|dzt|��z}|||d�S)N�*z + )rYrErF)rS)r.r�rErFrhrvs      r�_rewrite_insn_breakpointr�MsA���$�
$�C�
���E�k�C��K�K�'����$���r!�setInstructionBreakpoints�supportsInstructionBreakpoints)r�c�>�d�|D��}dtd|��iS)Nc�&�g|]}tdi|����Sr�)r�r�s  rr@z(set_insn_breakpoints.<locals>.<listcomp>gs'��B�B�B��
%�
+�
+��
+�
+�B�B�Br!r��instructionr�)r�r�rhrVs    r�set_insn_breakpointsr�bs2��

C�B�k�B�B�B�E��'�
�u�=�=��r!c���|dvrd|z}ntdt|��z���tj|��}tj��D]}|j|dkr|cS�t
d���)N)�assert�	exception�throw�rethrow�catchz-catch-zInvalid exception filterID: �bkptnoz(Could not find catchpoint after creating)rrSrs�
execute_mir�r/rP)�filterIdrh�cmdr6r5s     r�_catch_exceptionr�ms����G�G�G��(�"����9�C��M�M�I�J�J�J�
�^�C�
 �
 �F��o������
�9��x�(�(�(��I�I�I�)��>�
?�
?�?r!c�.�td|t��S)Nr�)r^r�)�filter_optionss r�_set_exception_catchpointsr�|s��$�[�.�BR�S�S�Sr!)rEr�c��||d�S)N)r�rErA)r�rErhs   r�_rewrite_exception_breakpointr��s������r!�setExceptionBreakpoints�supportsExceptionFilterOptions�exceptionBreakpointFiltersr�zAda assertionsT)�filter�label�supportsConditionr�zAda exceptionsr�zC++ exceptions, when thrownr�zC++ exceptions, when re-thrownr�zC++ exceptions, when caught)�
filterOptions�filtersr�c�~�d�|D��}|�|��d�|D��}dt|��iS)Nc��g|]}d|i��S)r�rA)r=r�s  rr@z-set_exception_breakpoints.<locals>.<listcomp>�s��:�:�:��
�F�#�:�:�:r!c�&�g|]}tdi|����Sr�)r�r�s  rr@z-set_exception_breakpoints.<locals>.<listcomp>�s'��E�E�E�r�,�2�2�r�2�2�E�E�Er!r�)�extendr�)r�r�rh�optionss    r�set_exception_breakpointsr��sU��H;�:�'�:�:�:�G��N�N�=�!�!�!�E�E�W�E�E�E�G��1�'�:�:��r!)3rd�
contextlibr�typingrrrs�serverrrr	�sourcesr
�startuprrr
rr�	typecheckrrrrr$r'�events�breakpoint_created�connect�breakpoint_modified�breakpoint_deletedrJrrCr^r}r`r~r�rNrSr�r�r�r�r�r�r�r�r�r�rAr!r�<module>r�s�� 
�	�	�	�%�%�%�%�%�%�&�%�%�%�%�%�%�%�
�
�
�
�3�3�3�3�3�3�3�3�3�3� � � � � � �U�U�U�U�U�U�U�U�U�U�U�U�U�U�!�!�!�!�!�!����������	
�	
���	
��	
�	
���	
��	
�	
���	
��
��%�%�k�2�2�2��
��&�&�|�4�4�4��
��%�%�k�2�2�2���������F5�5�5��=�=���=�@�����s�~����H�&*�&�&�&�&���&��G�G���G�� $�"&� $�����	�
��}���3�-�
���
�������&	��	�����/�0�0���,�-�-���� � �68����8����!� �.�-�1�0����.� $�"&�	���

����}���3�-�	������	��	!�"�"���)�*�*��h����+�*�#�"���!�#�"&������
�S�M����}�	�
�3�-�������(	��	$�%�%���,�-�-�6:������&.�s�m����.�-�&�%���@�@���@��T�T���T�� $�
�
�
��
���}�
�
�
���
�	��	"�#�#���,�-�-��� ��%�!%�	
�	
�"�%�!%�	
�	
��2�!%�	
�	
� �5�!%�	
�	
��2�!%�	
�	
�+���>:<�	�	�	���
�	�.6�	�	�	�=��.�-�$�#�@	�	�	r!

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists