3
3
# (https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html).
4
4
5
5
import _typeshed
6
+ import threading
7
+ from _typeshed import Incomplete
6
8
from collections .abc import Callable , Iterator , Mapping , Sequence
7
9
from 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
9
11
from typing_extensions import TypeAlias , deprecated
10
12
11
13
import gdb .FrameDecorator
@@ -136,6 +138,8 @@ class Value:
136
138
def string (self , encoding : str = ..., errors : str = ..., length : int = ...) -> str : ...
137
139
def lazy_string (self , encoding : str = ..., length : int = ...) -> LazyString : ...
138
140
def fetch_lazy (self ) -> None : ...
141
+ def assign (self , val ): ...
142
+ def to_array (self ): ...
139
143
140
144
# Types
141
145
@@ -193,33 +197,46 @@ class Field:
193
197
type : Type | None
194
198
parent_type : Type
195
199
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 ]
223
240
224
241
# Pretty Printing
225
242
@@ -259,8 +276,16 @@ class PendingFrame:
259
276
def read_register (self , reg : str | RegisterDescriptor | int , / ) -> Value : ...
260
277
def create_unwind_info (self , frame_id : object , / ) -> UnwindInfo : ...
261
278
def architecture (self ) -> Architecture : ...
279
+ def language (self ): ...
262
280
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 : ...
263
287
288
+ @final
264
289
class UnwindInfo :
265
290
def add_saved_register (self , reg : str | RegisterDescriptor | int , value : Value , / ) -> None : ...
266
291
@@ -281,6 +306,8 @@ class Inferior:
281
306
pid : int
282
307
was_attached : bool
283
308
progspace : Progspace
309
+ main_name : Incomplete
310
+ arguments : Incomplete
284
311
285
312
def is_valid (self ) -> bool : ...
286
313
def threads (self ) -> tuple [InferiorThread , ...]: ...
@@ -291,9 +318,14 @@ class Inferior:
291
318
def thread_from_handle (self , handle : Value ) -> InferiorThread : ...
292
319
@deprecated ("Use gdb.thread_from_handle() instead." )
293
320
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 : ...
294
324
295
325
# Threads
296
326
327
+ class Thread (threading .Thread ): ...
328
+
297
329
def selected_thread () -> InferiorThread : ...
298
330
@final
299
331
class InferiorThread :
@@ -302,6 +334,7 @@ class InferiorThread:
302
334
num : int
303
335
global_num : int
304
336
ptid : tuple [int , int , int ]
337
+ ptid_string : str
305
338
inferior : Inferior
306
339
307
340
def is_valid (self ) -> bool : ...
@@ -429,15 +462,19 @@ def current_progspace() -> Progspace | None: ...
429
462
def progspaces () -> Sequence [Progspace ]: ...
430
463
@final
431
464
class Progspace :
432
- filename : str
465
+ executable_filename : str | None
466
+ filename : str | None
467
+ symbol_file : Objfile | None
433
468
pretty_printers : list [_PrettyPrinterLookupFunction ]
434
469
type_printers : list [gdb .types ._TypePrinter ]
435
470
frame_filters : dict [str , _FrameFilter ]
436
471
frame_unwinders : list [gdb .unwinder .Unwinder ]
472
+ missing_debug_handlers : Incomplete
437
473
438
474
def block_for_pc (self , pc : int , / ) -> Block | None : ...
439
475
def find_pc_line (self , pc : int , / ) -> Symtab_and_line : ...
440
476
def is_valid (self ) -> bool : ...
477
+ def objfile_for_address (self , address : int , / ) -> Objfile | None : ...
441
478
def objfiles (self ) -> Sequence [Objfile ]: ...
442
479
def solib_name (self , address : int , / ) -> str | None : ...
443
480
@@ -457,6 +494,7 @@ class Objfile:
457
494
type_printers : list [gdb .types ._TypePrinter ]
458
495
frame_filters : dict [str , _FrameFilter ]
459
496
frame_unwinders : list [gdb .unwinder .Unwinder ]
497
+ is_file : bool
460
498
461
499
def is_valid (self ) -> bool : ...
462
500
def add_separate_debug_file (self , file : str ) -> None : ...
@@ -504,6 +542,8 @@ class Frame:
504
542
def read_var (self , variable : str | Symbol , / , block : Block | None = ...) -> Value : ...
505
543
def select (self ) -> None : ...
506
544
def level (self ) -> int : ...
545
+ def static_link (self ) -> Incomplete | None : ...
546
+ def language (self ): ...
507
547
508
548
# Blocks
509
549
@@ -552,34 +592,31 @@ class Symbol:
552
592
def is_valid (self ) -> bool : ...
553
593
def value (self , frame : Frame = ..., / ) -> Value : ...
554
594
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
583
620
584
621
# Symbol tables
585
622
@@ -658,10 +695,22 @@ class Breakpoint:
658
695
temporary : bool
659
696
hit_count : int
660
697
location : str | None
698
+ locations : Incomplete
699
+ inferior : int | None
661
700
expression : str | None
662
701
condition : str | None
663
702
commands : str | None
664
703
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
+
665
714
BP_NONE : int
666
715
BP_BREAKPOINT : int
667
716
BP_HARDWARE_BREAKPOINT : int
@@ -768,18 +817,26 @@ class ExitedEvent(Event):
768
817
exit_code : int
769
818
inferior : Inferior
770
819
820
+ class ThreadExitedEvent (Event ): ...
771
821
class StopEvent (ThreadEvent ): ...
772
822
773
823
class BreakpointEvent (StopEvent ):
774
824
breakpoints : Sequence [Breakpoint ]
775
825
breakpoint : Breakpoint
776
826
827
+ missing_debug_handlers : list [Incomplete ]
828
+
777
829
class NewObjFileEvent (Event ):
778
830
new_objfile : Objfile
779
831
832
+ class FreeObjFileEvent (Event ): ...
833
+
780
834
class ClearObjFilesEvent (Event ):
781
835
progspace : Progspace
782
836
837
+ class NewProgspaceEvent (Event ): ...
838
+ class FreeProgspaceEvent (Event ): ...
839
+
783
840
class SignalEvent (StopEvent ):
784
841
stop_signal : str
785
842
@@ -815,9 +872,15 @@ class GdbExitingEvent(Event):
815
872
class ConnectionEvent (Event ):
816
873
connection : TargetConnection
817
874
875
+ class ExecutableChangedEvent (Event ): ...
876
+
818
877
_ET = TypeVar ("_ET" , bound = Event | Breakpoint | None )
819
878
820
879
@final
821
880
class EventRegistry (Generic [_ET ]):
822
881
def connect (self , object : Callable [[_ET ], object ], / ) -> None : ...
823
882
def disconnect (self , object : Callable [[_ET ], object ], / ) -> None : ...
883
+
884
+ class ValuePrinter : ...
885
+
886
+ def blocked_signals (): ...
0 commit comments