33# (https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html).
44
55import _typeshed
6+ import threading
7+ from _typeshed import Incomplete
68from collections .abc import Callable , Iterator , Mapping , Sequence
79from contextlib import AbstractContextManager
8- from typing import Any , Generic , Literal , Protocol , TypeVar , final , overload
10+ from typing import Any , Final , Generic , Literal , Protocol , TypeVar , final , overload
911from typing_extensions import TypeAlias , deprecated
1012
1113import gdb .FrameDecorator
@@ -136,6 +138,8 @@ class Value:
136138 def string (self , encoding : str = ..., errors : str = ..., length : int = ...) -> str : ...
137139 def lazy_string (self , encoding : str = ..., length : int = ...) -> LazyString : ...
138140 def fetch_lazy (self ) -> None : ...
141+ def assign (self , val ): ...
142+ def to_array (self ): ...
139143
140144# Types
141145
@@ -193,33 +197,46 @@ class Field:
193197 type : Type | None
194198 parent_type : Type
195199
196- TYPE_CODE_PTR : int
197- TYPE_CODE_ARRAY : int
198- TYPE_CODE_STRUCT : int
199- TYPE_CODE_UNION : int
200- TYPE_CODE_ENUM : int
201- TYPE_CODE_FLAGS : int
202- TYPE_CODE_FUNC : int
203- TYPE_CODE_INT : int
204- TYPE_CODE_FLT : int
205- TYPE_CODE_VOID : int
206- TYPE_CODE_SET : int
207- TYPE_CODE_RANGE : int
208- TYPE_CODE_STRING : int
209- TYPE_CODE_BITSTRING : int
210- TYPE_CODE_ERROR : int
211- TYPE_CODE_METHOD : int
212- TYPE_CODE_METHODPTR : int
213- TYPE_CODE_MEMBERPTR : int
214- TYPE_CODE_REF : int
215- TYPE_CODE_RVALUE_REF : int
216- TYPE_CODE_CHAR : int
217- TYPE_CODE_BOOL : int
218- TYPE_CODE_COMPLEX : int
219- TYPE_CODE_TYPEDEF : int
220- TYPE_CODE_NAMESPACE : int
221- TYPE_CODE_DECFLOAT : int
222- TYPE_CODE_INTERNAL_FUNCTION : int
200+ TYPE_CODE_BITSTRING : Final = - 1
201+ TYPE_CODE_PTR : Final = 1
202+ TYPE_CODE_ARRAY : Final = 2
203+ TYPE_CODE_STRUCT : Final = 3
204+ TYPE_CODE_UNION : Final = 4
205+ TYPE_CODE_ENUM : Final = 5
206+ TYPE_CODE_FLAGS : Final = 6
207+ TYPE_CODE_FUNC : Final = 7
208+ TYPE_CODE_INT : Final = 8
209+ TYPE_CODE_FLT : Final = 9
210+ TYPE_CODE_VOID : Final = 10
211+ TYPE_CODE_SET : Final = 11
212+ TYPE_CODE_RANGE : Final = 12
213+ TYPE_CODE_STRING : Final = 13
214+ TYPE_CODE_ERROR : Final = 14
215+ TYPE_CODE_METHOD : Final = 15
216+ TYPE_CODE_METHODPTR : Final = 16
217+ TYPE_CODE_MEMBERPTR : Final = 17
218+ TYPE_CODE_REF : Final = 18
219+ TYPE_CODE_RVALUE_REF : Final = 19
220+ TYPE_CODE_CHAR : Final = 20
221+ TYPE_CODE_BOOL : Final = 21
222+ TYPE_CODE_COMPLEX : Final = 22
223+ TYPE_CODE_TYPEDEF : Final = 23
224+ TYPE_CODE_NAMESPACE : Final = 24
225+ TYPE_CODE_DECFLOAT : Final = 25
226+ TYPE_CODE_MODULE : Final = 26
227+ TYPE_CODE_INTERNAL_FUNCTION : Final = 27
228+ TYPE_CODE_XMETHOD : Final = 28
229+ TYPE_CODE_FIXED_POINT : Final = 29
230+ TYPE_CODE_NAMELIST : Final = 30
231+
232+ SEARCH_UNDEF_DOMAIN : Final [int ]
233+ SEARCH_VAR_DOMAIN : Final [int ]
234+ SEARCH_STRUCT_DOMAIN : Final [int ]
235+ SEARCH_MODULE_DOMAIN : Final [int ]
236+ SEARCH_LABEL_DOMAIN : Final [int ]
237+ SEARCH_COMMON_BLOCK_DOMAIN : Final [int ]
238+ SEARCH_TYPE_DOMAIN : Final [int ]
239+ SEARCH_FUNCTION_DOMAIN : Final [int ]
223240
224241# Pretty Printing
225242
@@ -259,8 +276,16 @@ class PendingFrame:
259276 def read_register (self , reg : str | RegisterDescriptor | int , / ) -> Value : ...
260277 def create_unwind_info (self , frame_id : object , / ) -> UnwindInfo : ...
261278 def architecture (self ) -> Architecture : ...
279+ def language (self ): ...
262280 def level (self ) -> int : ...
281+ def name (self ) -> str : ...
282+ def pc (self ) -> int : ...
283+ def block (self ) -> Block : ...
284+ def find_sal (self ) -> Symtab_and_line : ...
285+ def function (self ) -> Symbol : ...
286+ def is_valid (self ) -> bool : ...
263287
288+ @final
264289class UnwindInfo :
265290 def add_saved_register (self , reg : str | RegisterDescriptor | int , value : Value , / ) -> None : ...
266291
@@ -281,6 +306,8 @@ class Inferior:
281306 pid : int
282307 was_attached : bool
283308 progspace : Progspace
309+ main_name : Incomplete
310+ arguments : Incomplete
284311
285312 def is_valid (self ) -> bool : ...
286313 def threads (self ) -> tuple [InferiorThread , ...]: ...
@@ -291,9 +318,14 @@ class Inferior:
291318 def thread_from_handle (self , handle : Value ) -> InferiorThread : ...
292319 @deprecated ("Use gdb.thread_from_handle() instead." )
293320 def thread_from_thread_handle (self , handle : Value ) -> InferiorThread : ...
321+ def set_env (self , name : str , value : str ) -> None : ...
322+ def unset_env (self , name : str ) -> None : ...
323+ def clear_env (self ) -> None : ...
294324
295325# Threads
296326
327+ class Thread (threading .Thread ): ...
328+
297329def selected_thread () -> InferiorThread : ...
298330@final
299331class InferiorThread :
@@ -302,6 +334,7 @@ class InferiorThread:
302334 num : int
303335 global_num : int
304336 ptid : tuple [int , int , int ]
337+ ptid_string : str
305338 inferior : Inferior
306339
307340 def is_valid (self ) -> bool : ...
@@ -429,15 +462,19 @@ def current_progspace() -> Progspace | None: ...
429462def progspaces () -> Sequence [Progspace ]: ...
430463@final
431464class Progspace :
432- filename : str
465+ executable_filename : str | None
466+ filename : str | None
467+ symbol_file : Objfile | None
433468 pretty_printers : list [_PrettyPrinterLookupFunction ]
434469 type_printers : list [gdb .types ._TypePrinter ]
435470 frame_filters : dict [str , _FrameFilter ]
436471 frame_unwinders : list [gdb .unwinder .Unwinder ]
472+ missing_debug_handlers : Incomplete
437473
438474 def block_for_pc (self , pc : int , / ) -> Block | None : ...
439475 def find_pc_line (self , pc : int , / ) -> Symtab_and_line : ...
440476 def is_valid (self ) -> bool : ...
477+ def objfile_for_address (self , address : int , / ) -> Objfile | None : ...
441478 def objfiles (self ) -> Sequence [Objfile ]: ...
442479 def solib_name (self , address : int , / ) -> str | None : ...
443480
@@ -457,6 +494,7 @@ class Objfile:
457494 type_printers : list [gdb .types ._TypePrinter ]
458495 frame_filters : dict [str , _FrameFilter ]
459496 frame_unwinders : list [gdb .unwinder .Unwinder ]
497+ is_file : bool
460498
461499 def is_valid (self ) -> bool : ...
462500 def add_separate_debug_file (self , file : str ) -> None : ...
@@ -504,6 +542,8 @@ class Frame:
504542 def read_var (self , variable : str | Symbol , / , block : Block | None = ...) -> Value : ...
505543 def select (self ) -> None : ...
506544 def level (self ) -> int : ...
545+ def static_link (self ) -> Incomplete | None : ...
546+ def language (self ): ...
507547
508548# Blocks
509549
@@ -552,34 +592,31 @@ class Symbol:
552592 def is_valid (self ) -> bool : ...
553593 def value (self , frame : Frame = ..., / ) -> Value : ...
554594
555- SYMBOL_UNDEF_DOMAIN : int
556- SYMBOL_VAR_DOMAIN : int
557- SYMBOL_STRUCT_DOMAIN : int
558- SYMBOL_LABEL_DOMAIN : int
559- SYMBOL_MODULE_DOMAIN : int
560- SYMBOL_COMMON_BLOCK_DOMAIN : int
561-
562- # The constants were never correct. Use gdb.SYMBOL_VAR_DOMAIN instead.
563- SYMBOL_VARIABLES_DOMAIN : int
564- SYMBOL_FUNCTIONS_DOMAIN : int
565- SYMBOL_TYPES_DOMAIN : int
566-
567- SYMBOL_LOC_UNDEF : int
568- SYMBOL_LOC_CONST : int
569- SYMBOL_LOC_STATIC : int
570- SYMBOL_LOC_REGISTER : int
571- SYMBOL_LOC_ARG : int
572- SYMBOL_LOC_REF_ARG : int
573- SYMBOL_LOC_REGPARM_ADDR : int
574- SYMBOL_LOC_LOCAL : int
575- SYMBOL_LOC_TYPEDEF : int
576- SYMBOL_LOC_LABEL : int
577- SYMBOL_LOC_BLOCK : int
578- SYMBOL_LOC_CONST_BYTES : int
579- SYMBOL_LOC_UNRESOLVED : int
580- SYMBOL_LOC_OPTIMIZED_OUT : int
581- SYMBOL_LOC_COMPUTED : int
582- SYMBOL_LOC_COMMON_BLOCK : int
595+ SYMBOL_UNDEF_DOMAIN : Final = 0
596+ SYMBOL_VAR_DOMAIN : Final = 1
597+ SYMBOL_STRUCT_DOMAIN : Final = 2
598+ SYMBOL_MODULE_DOMAIN : Final = 3
599+ SYMBOL_LABEL_DOMAIN : Final = 4
600+ SYMBOL_COMMON_BLOCK_DOMAIN : Final = 5
601+ SYMBOL_TYPE_DOMAIN : Final = 6
602+ SYMBOL_FUNCTION_DOMAIN : Final = 7
603+
604+ SYMBOL_LOC_UNDEF : Final = 0
605+ SYMBOL_LOC_CONST : Final = 1
606+ SYMBOL_LOC_STATIC : Final = 2
607+ SYMBOL_LOC_REGISTER : Final = 3
608+ SYMBOL_LOC_ARG : Final = 4
609+ SYMBOL_LOC_REF_ARG : Final = 5
610+ SYMBOL_LOC_REGPARM_ADDR : Final = 6
611+ SYMBOL_LOC_LOCAL : Final = 7
612+ SYMBOL_LOC_TYPEDEF : Final = 8
613+ SYMBOL_LOC_LABEL : Final = 9
614+ SYMBOL_LOC_BLOCK : Final = 10
615+ SYMBOL_LOC_CONST_BYTES : Final = 11
616+ SYMBOL_LOC_UNRESOLVED : Final = 12
617+ SYMBOL_LOC_OPTIMIZED_OUT : Final = 13
618+ SYMBOL_LOC_COMPUTED : Final = 14
619+ SYMBOL_LOC_COMMON_BLOCK : Final = 15
583620
584621# Symbol tables
585622
@@ -658,10 +695,22 @@ class Breakpoint:
658695 temporary : bool
659696 hit_count : int
660697 location : str | None
698+ locations : Incomplete
699+ inferior : int | None
661700 expression : str | None
662701 condition : str | None
663702 commands : str | None
664703
704+ @final
705+ class BreakpointLocation :
706+ address : Incomplete
707+ enabled : bool
708+ fullname : str
709+ function : Incomplete
710+ owner : Incomplete
711+ source : Incomplete
712+ thread_groups : Incomplete
713+
665714BP_NONE : int
666715BP_BREAKPOINT : int
667716BP_HARDWARE_BREAKPOINT : int
@@ -768,18 +817,26 @@ class ExitedEvent(Event):
768817 exit_code : int
769818 inferior : Inferior
770819
820+ class ThreadExitedEvent (Event ): ...
771821class StopEvent (ThreadEvent ): ...
772822
773823class BreakpointEvent (StopEvent ):
774824 breakpoints : Sequence [Breakpoint ]
775825 breakpoint : Breakpoint
776826
827+ missing_debug_handlers : list [Incomplete ]
828+
777829class NewObjFileEvent (Event ):
778830 new_objfile : Objfile
779831
832+ class FreeObjFileEvent (Event ): ...
833+
780834class ClearObjFilesEvent (Event ):
781835 progspace : Progspace
782836
837+ class NewProgspaceEvent (Event ): ...
838+ class FreeProgspaceEvent (Event ): ...
839+
783840class SignalEvent (StopEvent ):
784841 stop_signal : str
785842
@@ -815,9 +872,15 @@ class GdbExitingEvent(Event):
815872class ConnectionEvent (Event ):
816873 connection : TargetConnection
817874
875+ class ExecutableChangedEvent (Event ): ...
876+
818877_ET = TypeVar ("_ET" , bound = Event | Breakpoint | None )
819878
820879@final
821880class EventRegistry (Generic [_ET ]):
822881 def connect (self , object : Callable [[_ET ], object ], / ) -> None : ...
823882 def disconnect (self , object : Callable [[_ET ], object ], / ) -> None : ...
883+
884+ class ValuePrinter : ...
885+
886+ def blocked_signals (): ...
0 commit comments