Format: application/x-python-code
⬇ Download File (5.0 KB)
   1  o
   2  
   3  ��h�@srddlZddlZddlZddlmZmZddlmZmZm	Z	ddl
   4  mZmZm
   5  Z
   6  daGdd�dej�Zdd�ZdS)	�N)�adapter�common)�log�	messaging�sockets)�
   7  components�servers�sessionscs`eZdZdZejjZ�fdd�Zedd��Zedd��Z	edd	��Z
   8  ed
   9  d��Zdd
  10  �Z�Z
  11  S)�Launcherz-Handles the launcher side of a debug session.csX|� |jrJ�t��||�d|_	d|_	||_Wd�dS1s%wYdS�N)�launcher�super�__init__�pid�	exit_code)�self�session�stream��	__class__��Oc:\Users\shubh\Videos\agent\nova\Lib\site-packages\debugpy/adapter/launchers.pyrs
  12  "�zLauncher.__init__cCs|dt�|_|j�|�dS)NZsystemProcessId)�intr�client�propagate_after_start�r�eventrrr�
  13  process_event"szLauncher.process_eventcCs|j�|�dSr)rrrrrr�output_event'�zLauncher.output_eventcCs|dt�|_dS)N�exitCode)rrrrrr�exited_event+rzLauncher.exited_eventcCs<z
  14  |jj�dd|ji�Wn	tyYnw|j��dS)NZexitedr )r�channelZ
  15  send_eventr�	Exception�closerrrr�terminated_event3s�zLauncher.terminated_eventc	Csz|j�0|jdurz|j�d�WntyYnwWd�dSWd�dSWd�dS1s6wYdS)N�	terminate)rrr"�requestr#)rrrr�terminate_debuggee;s
  16  ����"�zLauncher.terminate_debuggee)�__name__�
  17  __module__�__qualname__�__doc__r�	ComponentZmessage_handlerrrrr!r%r(�
  18  __classcell__rrrrr
  19  s
  20  
  21  
  22  
  23  r
  24  c
  25  sZ|
  26  rddgng}||7}||g7}i}t|j�}
  27  �js)tj��\}|
  28  d<tj|
  29  d<�fdd�}ztj	d||dd	�aWnt
  30  yM}z|�d
  31  �|��d}~wwt�
  32  ��zNt��\}}|dkr`|n|�d|��}|t|�d
  33  g7}||7}tjdurtj|td�<tjjddhkr�td�tjj��|td�<|dkr�t�d�|�ztj||tttj���t|����tjtjtjd�Wn_t
  34  y�}z|�d|��d}~wwt�d���jj� d�ddd�}|||	||d�}|dur�||d<|r�d|d<z
  35  �jj!�"d |�Wnt#j$�y}z|�%|�WYd}~nd}~ww�j&�fd!d"�|
  36  �r(dnt'j(d#��s3|�d$��z�j)j!�*|j+|
  37  �Wnt#j$�yW}z|�%|�WYd}~nd}~ww�j&�fd%d"�t'j(d#��sj|�d&���j�r{Wt�,�dat�
  38  �dStj-�d'd"�t'j(d#�}|du�r�|�d(��|�.��Wt�,�dat�
  39  �dSt�,�dat�
  40  �w))N�sudoz-E�portZadapterAccessTokencs"t��tj�|�}t�|�dSr)�listenerr$rZJsonIOStreamZfrom_socketr
  41  )�sockr�rrr�on_launcher_connected_sz-spawn_debuggee.<locals>.on_launcher_connectedr
  42  �)�backlogz5{0} couldn't create listener socket for launcher: {1}z	127.0.0.1�:z--ZDEBUGPY_LOG_DIR�warning�error� ZDEBUGPY_LOG_STDERRZinternalConsolez{0} spawning launcher: {1!r})�cwd�env�stdin�stdout�stderrzFailed to spawn launcher: {0}z2{0} spawning launcher via "runInTerminal" request.ZsupportsRunInTerminalRequestZ
  43  integratedZexternal)ZintegratedTerminalZexternalTerminal)�kind�title�argsr<r;TZargsCanBeInterpretedByShellZ
  44  runInTerminalcs�jSr)rrr3rr�<lambda>�sz spawn_debuggee.<locals>.<lambda>)�timeoutz)Timed out waiting for launcher to connectcs�jjduSr)rrrr3rrrC�sz3Timed out waiting for "process" event from launchercSsdS)NTr)�connrrrrC�sz'Timed out waiting for debuggee to spawn)/�dict�	argumentsZno_debugrr1�getsocknamerZaccess_tokenrZserver#Zcant_handler	Zreport_sockets�strrZlog_dirr?Zlevels�join�info�
  45  subprocess�Popen�list�os�environ�items�sysr=r>rZcapabilities�requirer"�send_requestrZMessageHandlingError�	propagate�wait_forrZPROCESS_SPAWN_TIMEOUTrr'�commandr$Zwait_for_connectionZattach_to_session)rZ
  46  start_request�pythonZ
  47  launcher_pathZadapter_hostrBZshell_expand_argsr;�consoleZ
  48  console_titler/Zcmdliner<rG�_r4�excZ
  49  launcher_hostZ
  50  launcher_portZ
  51  launcher_addr�kindsZrequest_argsrErr3r�spawn_debuggeeDs�
  52  
  53  
  54  
  55  ������
  56  
  57  ���
  58  ���
  59  �
  60  ��
  61  ����
  62  
  63  �
  64  r])rOrLrRZdebugpyrrZdebugpy.commonrrrZdebugpy.adapterrrr	r1r-r
  65  r]rrrr�<module>s4