1# This file was automatically generated by SWIG (https://www.swig.org). 2# Version 4.2.1 3# 4# Do not make changes to this file unless you know what you are doing - modify 5# the SWIG interface file instead. 6 7""" 8The lldb module contains the public APIs for Python binding. 9 10Some of the important classes are described here: 11 12* :py:class:`SBTarget`: Represents the target program running under the debugger. 13* :py:class:`SBProcess`: Represents the process associated with the target program. 14* :py:class:`SBThread`: Represents a thread of execution. :py:class:`SBProcess` contains SBThreads. 15* :py:class:`SBFrame`: Represents one of the stack frames associated with a thread. :py:class:`SBThread` 16 contains SBFrame(s). 17* :py:class:`SBSymbolContext`: A container that stores various debugger related info. 18* :py:class:`SBValue`: Represents the value of a variable, a register, or an expression. 19* :py:class:`SBModule`: Represents an executable image and its associated object and symbol 20 files. :py:class:`SBTarget` contains SBModule. 21* :py:class:`SBBreakpoint`: Represents a logical breakpoint and its associated settings. 22 :py:class:`SBTarget` contains SBBreakpoints. 23* :py:class:`SBSymbol`: Represents the symbol possibly associated with a stack frame. 24* :py:class:`SBCompileUnit`: Represents a compilation unit, or compiled source file. 25* :py:class:`SBFunction`: Represents a generic function, which can be inlined or not. 26* :py:class:`SBBlock`: Represents a lexical block. :py:class:`SBFunction` contains SBBlocks. 27* :py:class:`SBLineEntry`: Specifies an association with a contiguous range of instructions 28 and a source file location. :py:class:`SBCompileUnit` contains SBLineEntry. 29 30The different enums in the `lldb` module are described in :doc:`python_api_enums`. 31 32 33""" 34 35from sys import version_info as _swig_python_version_info 36try: 37 # Try an absolute import first. If we're being loaded from lldb, 38 # _lldb should be a built-in module. 39 import _lldb 40except ImportError: 41 # Relative import should work if we are being loaded by Python. 42 from . import _lldb 43 44try: 45 import builtins as __builtin__ 46except ImportError: 47 import __builtin__ 48 49def _swig_repr(self): 50 try: 51 strthis = "proxy of " + self.this.__repr__() 52 except __builtin__.Exception: 53 strthis = "" 54 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) 55 56 57def _swig_setattr_nondynamic_instance_variable(set): 58 def set_instance_attr(self, name, value): 59 if name == "this": 60 set(self, name, value) 61 elif name == "thisown": 62 self.this.own(value) 63 elif hasattr(self, name) and isinstance(getattr(type(self), name), property): 64 set(self, name, value) 65 else: 66 raise AttributeError("You cannot add instance attributes to %s" % self) 67 return set_instance_attr 68 69 70def _swig_setattr_nondynamic_class_variable(set): 71 def set_class_attr(cls, name, value): 72 if hasattr(cls, name) and not isinstance(getattr(cls, name), property): 73 set(cls, name, value) 74 else: 75 raise AttributeError("You cannot add class attributes to %s" % cls) 76 return set_class_attr 77 78 79def _swig_add_metaclass(metaclass): 80 """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass""" 81 def wrapper(cls): 82 return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy()) 83 return wrapper 84 85 86class _SwigNonDynamicMeta(type): 87 """Meta class to enforce nondynamic attributes (no new attributes) for a class""" 88 __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__) 89 90 91 92import uuid 93import re 94import os 95 96 97#SWIG_VERSION is written as a single hex number, but the components of it are 98#meant to be interpreted in decimal. So, 0x030012 is swig 3.0.12, and not 99#3.0.18. 100def _to_int(hex): 101 return hex // 0x10 % 0x10 * 10 + hex % 0x10 102swig_version = (_to_int(0x040201 // 0x10000), _to_int(0x040201 // 0x100), _to_int(0x040201)) 103del _to_int 104 105 106# =================================== 107# Iterator for lldb container objects 108# =================================== 109def lldb_iter(obj, getsize, getelem): 110 """A generator adaptor to support iteration for lldb container objects.""" 111 size = getattr(obj, getsize) 112 elem = getattr(obj, getelem) 113 for i in range(size()): 114 yield elem(i) 115 116INT32_MAX = _lldb.INT32_MAX 117 118UINT32_MAX = _lldb.UINT32_MAX 119 120UINT64_MAX = _lldb.UINT64_MAX 121 122LLDB_GENERIC_ERROR = _lldb.LLDB_GENERIC_ERROR 123 124LLDB_INVALID_BREAK_ID = _lldb.LLDB_INVALID_BREAK_ID 125 126LLDB_DEFAULT_BREAK_SIZE = _lldb.LLDB_DEFAULT_BREAK_SIZE 127 128LLDB_INVALID_WATCH_ID = _lldb.LLDB_INVALID_WATCH_ID 129 130LLDB_WATCH_TYPE_READ = _lldb.LLDB_WATCH_TYPE_READ 131 132LLDB_WATCH_TYPE_WRITE = _lldb.LLDB_WATCH_TYPE_WRITE 133 134LLDB_WATCH_TYPE_MODIFY = _lldb.LLDB_WATCH_TYPE_MODIFY 135 136LLDB_INVALID_SITE_ID = _lldb.LLDB_INVALID_SITE_ID 137 138LLDB_REGNUM_GENERIC_PC = _lldb.LLDB_REGNUM_GENERIC_PC 139 140LLDB_REGNUM_GENERIC_SP = _lldb.LLDB_REGNUM_GENERIC_SP 141 142LLDB_REGNUM_GENERIC_FP = _lldb.LLDB_REGNUM_GENERIC_FP 143 144LLDB_REGNUM_GENERIC_RA = _lldb.LLDB_REGNUM_GENERIC_RA 145 146LLDB_REGNUM_GENERIC_FLAGS = _lldb.LLDB_REGNUM_GENERIC_FLAGS 147 148LLDB_REGNUM_GENERIC_ARG1 = _lldb.LLDB_REGNUM_GENERIC_ARG1 149 150LLDB_REGNUM_GENERIC_ARG2 = _lldb.LLDB_REGNUM_GENERIC_ARG2 151 152LLDB_REGNUM_GENERIC_ARG3 = _lldb.LLDB_REGNUM_GENERIC_ARG3 153 154LLDB_REGNUM_GENERIC_ARG4 = _lldb.LLDB_REGNUM_GENERIC_ARG4 155 156LLDB_REGNUM_GENERIC_ARG5 = _lldb.LLDB_REGNUM_GENERIC_ARG5 157 158LLDB_REGNUM_GENERIC_ARG6 = _lldb.LLDB_REGNUM_GENERIC_ARG6 159 160LLDB_REGNUM_GENERIC_ARG7 = _lldb.LLDB_REGNUM_GENERIC_ARG7 161 162LLDB_REGNUM_GENERIC_ARG8 = _lldb.LLDB_REGNUM_GENERIC_ARG8 163 164LLDB_REGNUM_GENERIC_TP = _lldb.LLDB_REGNUM_GENERIC_TP 165 166LLDB_INVALID_STOP_ID = _lldb.LLDB_INVALID_STOP_ID 167 168LLDB_INVALID_ADDRESS = _lldb.LLDB_INVALID_ADDRESS 169 170LLDB_INVALID_INDEX32 = _lldb.LLDB_INVALID_INDEX32 171 172LLDB_INVALID_IVAR_OFFSET = _lldb.LLDB_INVALID_IVAR_OFFSET 173 174LLDB_INVALID_IMAGE_TOKEN = _lldb.LLDB_INVALID_IMAGE_TOKEN 175 176LLDB_INVALID_MODULE_VERSION = _lldb.LLDB_INVALID_MODULE_VERSION 177 178LLDB_INVALID_REGNUM = _lldb.LLDB_INVALID_REGNUM 179 180LLDB_INVALID_UID = _lldb.LLDB_INVALID_UID 181 182LLDB_INVALID_PROCESS_ID = _lldb.LLDB_INVALID_PROCESS_ID 183 184LLDB_INVALID_THREAD_ID = _lldb.LLDB_INVALID_THREAD_ID 185 186LLDB_INVALID_FRAME_ID = _lldb.LLDB_INVALID_FRAME_ID 187 188LLDB_INVALID_SIGNAL_NUMBER = _lldb.LLDB_INVALID_SIGNAL_NUMBER 189 190LLDB_INVALID_OFFSET = _lldb.LLDB_INVALID_OFFSET 191 192LLDB_INVALID_LINE_NUMBER = _lldb.LLDB_INVALID_LINE_NUMBER 193 194LLDB_INVALID_COLUMN_NUMBER = _lldb.LLDB_INVALID_COLUMN_NUMBER 195 196LLDB_INVALID_QUEUE_ID = _lldb.LLDB_INVALID_QUEUE_ID 197 198LLDB_INVALID_CPU_ID = _lldb.LLDB_INVALID_CPU_ID 199 200LLDB_INVALID_WATCHPOINT_RESOURCE_ID = _lldb.LLDB_INVALID_WATCHPOINT_RESOURCE_ID 201 202LLDB_ARCH_DEFAULT = _lldb.LLDB_ARCH_DEFAULT 203 204LLDB_ARCH_DEFAULT_32BIT = _lldb.LLDB_ARCH_DEFAULT_32BIT 205 206LLDB_ARCH_DEFAULT_64BIT = _lldb.LLDB_ARCH_DEFAULT_64BIT 207 208LLDB_INVALID_CPUTYPE = _lldb.LLDB_INVALID_CPUTYPE 209 210LLDB_MAX_NUM_OPTION_SETS = _lldb.LLDB_MAX_NUM_OPTION_SETS 211 212LLDB_OPT_SET_ALL = _lldb.LLDB_OPT_SET_ALL 213 214LLDB_OPT_SET_1 = _lldb.LLDB_OPT_SET_1 215 216LLDB_OPT_SET_2 = _lldb.LLDB_OPT_SET_2 217 218LLDB_OPT_SET_3 = _lldb.LLDB_OPT_SET_3 219 220LLDB_OPT_SET_4 = _lldb.LLDB_OPT_SET_4 221 222LLDB_OPT_SET_5 = _lldb.LLDB_OPT_SET_5 223 224LLDB_OPT_SET_6 = _lldb.LLDB_OPT_SET_6 225 226LLDB_OPT_SET_7 = _lldb.LLDB_OPT_SET_7 227 228LLDB_OPT_SET_8 = _lldb.LLDB_OPT_SET_8 229 230LLDB_OPT_SET_9 = _lldb.LLDB_OPT_SET_9 231 232LLDB_OPT_SET_10 = _lldb.LLDB_OPT_SET_10 233 234LLDB_OPT_SET_11 = _lldb.LLDB_OPT_SET_11 235 236LLDB_OPT_SET_12 = _lldb.LLDB_OPT_SET_12 237 238LLDB_INVALID_ADDRESS_MASK = _lldb.LLDB_INVALID_ADDRESS_MASK 239 240eStateInvalid = _lldb.eStateInvalid 241 242eStateUnloaded = _lldb.eStateUnloaded 243 244eStateConnected = _lldb.eStateConnected 245 246eStateAttaching = _lldb.eStateAttaching 247 248eStateLaunching = _lldb.eStateLaunching 249 250eStateStopped = _lldb.eStateStopped 251 252eStateRunning = _lldb.eStateRunning 253 254eStateStepping = _lldb.eStateStepping 255 256eStateCrashed = _lldb.eStateCrashed 257 258eStateDetached = _lldb.eStateDetached 259 260eStateExited = _lldb.eStateExited 261 262eStateSuspended = _lldb.eStateSuspended 263 264kLastStateType = _lldb.kLastStateType 265 266eLaunchFlagNone = _lldb.eLaunchFlagNone 267 268eLaunchFlagExec = _lldb.eLaunchFlagExec 269 270eLaunchFlagDebug = _lldb.eLaunchFlagDebug 271 272eLaunchFlagStopAtEntry = _lldb.eLaunchFlagStopAtEntry 273 274eLaunchFlagDisableASLR = _lldb.eLaunchFlagDisableASLR 275 276eLaunchFlagDisableSTDIO = _lldb.eLaunchFlagDisableSTDIO 277 278eLaunchFlagLaunchInTTY = _lldb.eLaunchFlagLaunchInTTY 279 280eLaunchFlagLaunchInShell = _lldb.eLaunchFlagLaunchInShell 281 282eLaunchFlagLaunchInSeparateProcessGroup = _lldb.eLaunchFlagLaunchInSeparateProcessGroup 283 284eLaunchFlagDontSetExitStatus = _lldb.eLaunchFlagDontSetExitStatus 285 286eLaunchFlagDetachOnError = _lldb.eLaunchFlagDetachOnError 287 288eLaunchFlagShellExpandArguments = _lldb.eLaunchFlagShellExpandArguments 289 290eLaunchFlagCloseTTYOnExit = _lldb.eLaunchFlagCloseTTYOnExit 291 292eLaunchFlagInheritTCCFromParent = _lldb.eLaunchFlagInheritTCCFromParent 293 294eOnlyThisThread = _lldb.eOnlyThisThread 295 296eAllThreads = _lldb.eAllThreads 297 298eOnlyDuringStepping = _lldb.eOnlyDuringStepping 299 300eByteOrderInvalid = _lldb.eByteOrderInvalid 301 302eByteOrderBig = _lldb.eByteOrderBig 303 304eByteOrderPDP = _lldb.eByteOrderPDP 305 306eByteOrderLittle = _lldb.eByteOrderLittle 307 308eEncodingInvalid = _lldb.eEncodingInvalid 309 310eEncodingUint = _lldb.eEncodingUint 311 312eEncodingSint = _lldb.eEncodingSint 313 314eEncodingIEEE754 = _lldb.eEncodingIEEE754 315 316eEncodingVector = _lldb.eEncodingVector 317 318eFormatDefault = _lldb.eFormatDefault 319 320eFormatInvalid = _lldb.eFormatInvalid 321 322eFormatBoolean = _lldb.eFormatBoolean 323 324eFormatBinary = _lldb.eFormatBinary 325 326eFormatBytes = _lldb.eFormatBytes 327 328eFormatBytesWithASCII = _lldb.eFormatBytesWithASCII 329 330eFormatChar = _lldb.eFormatChar 331 332eFormatCharPrintable = _lldb.eFormatCharPrintable 333 334eFormatComplex = _lldb.eFormatComplex 335 336eFormatComplexFloat = _lldb.eFormatComplexFloat 337 338eFormatCString = _lldb.eFormatCString 339 340eFormatDecimal = _lldb.eFormatDecimal 341 342eFormatEnum = _lldb.eFormatEnum 343 344eFormatHex = _lldb.eFormatHex 345 346eFormatHexUppercase = _lldb.eFormatHexUppercase 347 348eFormatFloat = _lldb.eFormatFloat 349 350eFormatOctal = _lldb.eFormatOctal 351 352eFormatOSType = _lldb.eFormatOSType 353 354eFormatUnicode16 = _lldb.eFormatUnicode16 355 356eFormatUnicode32 = _lldb.eFormatUnicode32 357 358eFormatUnsigned = _lldb.eFormatUnsigned 359 360eFormatPointer = _lldb.eFormatPointer 361 362eFormatVectorOfChar = _lldb.eFormatVectorOfChar 363 364eFormatVectorOfSInt8 = _lldb.eFormatVectorOfSInt8 365 366eFormatVectorOfUInt8 = _lldb.eFormatVectorOfUInt8 367 368eFormatVectorOfSInt16 = _lldb.eFormatVectorOfSInt16 369 370eFormatVectorOfUInt16 = _lldb.eFormatVectorOfUInt16 371 372eFormatVectorOfSInt32 = _lldb.eFormatVectorOfSInt32 373 374eFormatVectorOfUInt32 = _lldb.eFormatVectorOfUInt32 375 376eFormatVectorOfSInt64 = _lldb.eFormatVectorOfSInt64 377 378eFormatVectorOfUInt64 = _lldb.eFormatVectorOfUInt64 379 380eFormatVectorOfFloat16 = _lldb.eFormatVectorOfFloat16 381 382eFormatVectorOfFloat32 = _lldb.eFormatVectorOfFloat32 383 384eFormatVectorOfFloat64 = _lldb.eFormatVectorOfFloat64 385 386eFormatVectorOfUInt128 = _lldb.eFormatVectorOfUInt128 387 388eFormatComplexInteger = _lldb.eFormatComplexInteger 389 390eFormatCharArray = _lldb.eFormatCharArray 391 392eFormatAddressInfo = _lldb.eFormatAddressInfo 393 394eFormatHexFloat = _lldb.eFormatHexFloat 395 396eFormatInstruction = _lldb.eFormatInstruction 397 398eFormatVoid = _lldb.eFormatVoid 399 400eFormatUnicode8 = _lldb.eFormatUnicode8 401 402kNumFormats = _lldb.kNumFormats 403 404eDescriptionLevelBrief = _lldb.eDescriptionLevelBrief 405 406eDescriptionLevelFull = _lldb.eDescriptionLevelFull 407 408eDescriptionLevelVerbose = _lldb.eDescriptionLevelVerbose 409 410eDescriptionLevelInitial = _lldb.eDescriptionLevelInitial 411 412kNumDescriptionLevels = _lldb.kNumDescriptionLevels 413 414eScriptLanguageNone = _lldb.eScriptLanguageNone 415 416eScriptLanguagePython = _lldb.eScriptLanguagePython 417 418eScriptLanguageLua = _lldb.eScriptLanguageLua 419 420eScriptLanguageUnknown = _lldb.eScriptLanguageUnknown 421 422eScriptLanguageDefault = _lldb.eScriptLanguageDefault 423 424eRegisterKindEHFrame = _lldb.eRegisterKindEHFrame 425 426eRegisterKindDWARF = _lldb.eRegisterKindDWARF 427 428eRegisterKindGeneric = _lldb.eRegisterKindGeneric 429 430eRegisterKindProcessPlugin = _lldb.eRegisterKindProcessPlugin 431 432eRegisterKindLLDB = _lldb.eRegisterKindLLDB 433 434kNumRegisterKinds = _lldb.kNumRegisterKinds 435 436eStopReasonInvalid = _lldb.eStopReasonInvalid 437 438eStopReasonNone = _lldb.eStopReasonNone 439 440eStopReasonTrace = _lldb.eStopReasonTrace 441 442eStopReasonBreakpoint = _lldb.eStopReasonBreakpoint 443 444eStopReasonWatchpoint = _lldb.eStopReasonWatchpoint 445 446eStopReasonSignal = _lldb.eStopReasonSignal 447 448eStopReasonException = _lldb.eStopReasonException 449 450eStopReasonExec = _lldb.eStopReasonExec 451 452eStopReasonPlanComplete = _lldb.eStopReasonPlanComplete 453 454eStopReasonThreadExiting = _lldb.eStopReasonThreadExiting 455 456eStopReasonInstrumentation = _lldb.eStopReasonInstrumentation 457 458eStopReasonProcessorTrace = _lldb.eStopReasonProcessorTrace 459 460eStopReasonFork = _lldb.eStopReasonFork 461 462eStopReasonVFork = _lldb.eStopReasonVFork 463 464eStopReasonVForkDone = _lldb.eStopReasonVForkDone 465 466eStopReasonInterrupt = _lldb.eStopReasonInterrupt 467 468eReturnStatusInvalid = _lldb.eReturnStatusInvalid 469 470eReturnStatusSuccessFinishNoResult = _lldb.eReturnStatusSuccessFinishNoResult 471 472eReturnStatusSuccessFinishResult = _lldb.eReturnStatusSuccessFinishResult 473 474eReturnStatusSuccessContinuingNoResult = _lldb.eReturnStatusSuccessContinuingNoResult 475 476eReturnStatusSuccessContinuingResult = _lldb.eReturnStatusSuccessContinuingResult 477 478eReturnStatusStarted = _lldb.eReturnStatusStarted 479 480eReturnStatusFailed = _lldb.eReturnStatusFailed 481 482eReturnStatusQuit = _lldb.eReturnStatusQuit 483 484eExpressionCompleted = _lldb.eExpressionCompleted 485 486eExpressionSetupError = _lldb.eExpressionSetupError 487 488eExpressionParseError = _lldb.eExpressionParseError 489 490eExpressionDiscarded = _lldb.eExpressionDiscarded 491 492eExpressionInterrupted = _lldb.eExpressionInterrupted 493 494eExpressionHitBreakpoint = _lldb.eExpressionHitBreakpoint 495 496eExpressionTimedOut = _lldb.eExpressionTimedOut 497 498eExpressionResultUnavailable = _lldb.eExpressionResultUnavailable 499 500eExpressionStoppedForDebug = _lldb.eExpressionStoppedForDebug 501 502eExpressionThreadVanished = _lldb.eExpressionThreadVanished 503 504eSearchDepthInvalid = _lldb.eSearchDepthInvalid 505 506eSearchDepthTarget = _lldb.eSearchDepthTarget 507 508eSearchDepthModule = _lldb.eSearchDepthModule 509 510eSearchDepthCompUnit = _lldb.eSearchDepthCompUnit 511 512eSearchDepthFunction = _lldb.eSearchDepthFunction 513 514eSearchDepthBlock = _lldb.eSearchDepthBlock 515 516eSearchDepthAddress = _lldb.eSearchDepthAddress 517 518kLastSearchDepthKind = _lldb.kLastSearchDepthKind 519 520eConnectionStatusSuccess = _lldb.eConnectionStatusSuccess 521 522eConnectionStatusEndOfFile = _lldb.eConnectionStatusEndOfFile 523 524eConnectionStatusError = _lldb.eConnectionStatusError 525 526eConnectionStatusTimedOut = _lldb.eConnectionStatusTimedOut 527 528eConnectionStatusNoConnection = _lldb.eConnectionStatusNoConnection 529 530eConnectionStatusLostConnection = _lldb.eConnectionStatusLostConnection 531 532eConnectionStatusInterrupted = _lldb.eConnectionStatusInterrupted 533 534eErrorTypeInvalid = _lldb.eErrorTypeInvalid 535 536eErrorTypeGeneric = _lldb.eErrorTypeGeneric 537 538eErrorTypeMachKernel = _lldb.eErrorTypeMachKernel 539 540eErrorTypePOSIX = _lldb.eErrorTypePOSIX 541 542eErrorTypeExpression = _lldb.eErrorTypeExpression 543 544eErrorTypeWin32 = _lldb.eErrorTypeWin32 545 546eValueTypeInvalid = _lldb.eValueTypeInvalid 547 548eValueTypeVariableGlobal = _lldb.eValueTypeVariableGlobal 549 550eValueTypeVariableStatic = _lldb.eValueTypeVariableStatic 551 552eValueTypeVariableArgument = _lldb.eValueTypeVariableArgument 553 554eValueTypeVariableLocal = _lldb.eValueTypeVariableLocal 555 556eValueTypeRegister = _lldb.eValueTypeRegister 557 558eValueTypeRegisterSet = _lldb.eValueTypeRegisterSet 559 560eValueTypeConstResult = _lldb.eValueTypeConstResult 561 562eValueTypeVariableThreadLocal = _lldb.eValueTypeVariableThreadLocal 563 564eValueTypeVTable = _lldb.eValueTypeVTable 565 566eValueTypeVTableEntry = _lldb.eValueTypeVTableEntry 567 568eInputReaderGranularityInvalid = _lldb.eInputReaderGranularityInvalid 569 570eInputReaderGranularityByte = _lldb.eInputReaderGranularityByte 571 572eInputReaderGranularityWord = _lldb.eInputReaderGranularityWord 573 574eInputReaderGranularityLine = _lldb.eInputReaderGranularityLine 575 576eInputReaderGranularityAll = _lldb.eInputReaderGranularityAll 577 578eSymbolContextTarget = _lldb.eSymbolContextTarget 579 580eSymbolContextModule = _lldb.eSymbolContextModule 581 582eSymbolContextCompUnit = _lldb.eSymbolContextCompUnit 583 584eSymbolContextFunction = _lldb.eSymbolContextFunction 585 586eSymbolContextBlock = _lldb.eSymbolContextBlock 587 588eSymbolContextLineEntry = _lldb.eSymbolContextLineEntry 589 590eSymbolContextSymbol = _lldb.eSymbolContextSymbol 591 592eSymbolContextEverything = _lldb.eSymbolContextEverything 593 594eSymbolContextVariable = _lldb.eSymbolContextVariable 595 596eSymbolContextLastItem = _lldb.eSymbolContextLastItem 597 598ePermissionsWritable = _lldb.ePermissionsWritable 599 600ePermissionsReadable = _lldb.ePermissionsReadable 601 602ePermissionsExecutable = _lldb.ePermissionsExecutable 603 604eInputReaderActivate = _lldb.eInputReaderActivate 605 606eInputReaderAsynchronousOutputWritten = _lldb.eInputReaderAsynchronousOutputWritten 607 608eInputReaderReactivate = _lldb.eInputReaderReactivate 609 610eInputReaderDeactivate = _lldb.eInputReaderDeactivate 611 612eInputReaderGotToken = _lldb.eInputReaderGotToken 613 614eInputReaderInterrupt = _lldb.eInputReaderInterrupt 615 616eInputReaderEndOfFile = _lldb.eInputReaderEndOfFile 617 618eInputReaderDone = _lldb.eInputReaderDone 619 620eBreakpointEventTypeInvalidType = _lldb.eBreakpointEventTypeInvalidType 621 622eBreakpointEventTypeAdded = _lldb.eBreakpointEventTypeAdded 623 624eBreakpointEventTypeRemoved = _lldb.eBreakpointEventTypeRemoved 625 626eBreakpointEventTypeLocationsAdded = _lldb.eBreakpointEventTypeLocationsAdded 627 628eBreakpointEventTypeLocationsRemoved = _lldb.eBreakpointEventTypeLocationsRemoved 629 630eBreakpointEventTypeLocationsResolved = _lldb.eBreakpointEventTypeLocationsResolved 631 632eBreakpointEventTypeEnabled = _lldb.eBreakpointEventTypeEnabled 633 634eBreakpointEventTypeDisabled = _lldb.eBreakpointEventTypeDisabled 635 636eBreakpointEventTypeCommandChanged = _lldb.eBreakpointEventTypeCommandChanged 637 638eBreakpointEventTypeConditionChanged = _lldb.eBreakpointEventTypeConditionChanged 639 640eBreakpointEventTypeIgnoreChanged = _lldb.eBreakpointEventTypeIgnoreChanged 641 642eBreakpointEventTypeThreadChanged = _lldb.eBreakpointEventTypeThreadChanged 643 644eBreakpointEventTypeAutoContinueChanged = _lldb.eBreakpointEventTypeAutoContinueChanged 645 646eWatchpointEventTypeInvalidType = _lldb.eWatchpointEventTypeInvalidType 647 648eWatchpointEventTypeAdded = _lldb.eWatchpointEventTypeAdded 649 650eWatchpointEventTypeRemoved = _lldb.eWatchpointEventTypeRemoved 651 652eWatchpointEventTypeEnabled = _lldb.eWatchpointEventTypeEnabled 653 654eWatchpointEventTypeDisabled = _lldb.eWatchpointEventTypeDisabled 655 656eWatchpointEventTypeCommandChanged = _lldb.eWatchpointEventTypeCommandChanged 657 658eWatchpointEventTypeConditionChanged = _lldb.eWatchpointEventTypeConditionChanged 659 660eWatchpointEventTypeIgnoreChanged = _lldb.eWatchpointEventTypeIgnoreChanged 661 662eWatchpointEventTypeThreadChanged = _lldb.eWatchpointEventTypeThreadChanged 663 664eWatchpointEventTypeTypeChanged = _lldb.eWatchpointEventTypeTypeChanged 665 666eWatchpointWriteTypeDisabled = _lldb.eWatchpointWriteTypeDisabled 667 668eWatchpointWriteTypeAlways = _lldb.eWatchpointWriteTypeAlways 669 670eWatchpointWriteTypeOnModify = _lldb.eWatchpointWriteTypeOnModify 671 672eLanguageTypeUnknown = _lldb.eLanguageTypeUnknown 673 674eLanguageTypeC89 = _lldb.eLanguageTypeC89 675 676eLanguageTypeC = _lldb.eLanguageTypeC 677 678eLanguageTypeAda83 = _lldb.eLanguageTypeAda83 679 680eLanguageTypeC_plus_plus = _lldb.eLanguageTypeC_plus_plus 681 682eLanguageTypeCobol74 = _lldb.eLanguageTypeCobol74 683 684eLanguageTypeCobol85 = _lldb.eLanguageTypeCobol85 685 686eLanguageTypeFortran77 = _lldb.eLanguageTypeFortran77 687 688eLanguageTypeFortran90 = _lldb.eLanguageTypeFortran90 689 690eLanguageTypePascal83 = _lldb.eLanguageTypePascal83 691 692eLanguageTypeModula2 = _lldb.eLanguageTypeModula2 693 694eLanguageTypeJava = _lldb.eLanguageTypeJava 695 696eLanguageTypeC99 = _lldb.eLanguageTypeC99 697 698eLanguageTypeAda95 = _lldb.eLanguageTypeAda95 699 700eLanguageTypeFortran95 = _lldb.eLanguageTypeFortran95 701 702eLanguageTypePLI = _lldb.eLanguageTypePLI 703 704eLanguageTypeObjC = _lldb.eLanguageTypeObjC 705 706eLanguageTypeObjC_plus_plus = _lldb.eLanguageTypeObjC_plus_plus 707 708eLanguageTypeUPC = _lldb.eLanguageTypeUPC 709 710eLanguageTypeD = _lldb.eLanguageTypeD 711 712eLanguageTypePython = _lldb.eLanguageTypePython 713 714eLanguageTypeOpenCL = _lldb.eLanguageTypeOpenCL 715 716eLanguageTypeGo = _lldb.eLanguageTypeGo 717 718eLanguageTypeModula3 = _lldb.eLanguageTypeModula3 719 720eLanguageTypeHaskell = _lldb.eLanguageTypeHaskell 721 722eLanguageTypeC_plus_plus_03 = _lldb.eLanguageTypeC_plus_plus_03 723 724eLanguageTypeC_plus_plus_11 = _lldb.eLanguageTypeC_plus_plus_11 725 726eLanguageTypeOCaml = _lldb.eLanguageTypeOCaml 727 728eLanguageTypeRust = _lldb.eLanguageTypeRust 729 730eLanguageTypeC11 = _lldb.eLanguageTypeC11 731 732eLanguageTypeSwift = _lldb.eLanguageTypeSwift 733 734eLanguageTypeJulia = _lldb.eLanguageTypeJulia 735 736eLanguageTypeDylan = _lldb.eLanguageTypeDylan 737 738eLanguageTypeC_plus_plus_14 = _lldb.eLanguageTypeC_plus_plus_14 739 740eLanguageTypeFortran03 = _lldb.eLanguageTypeFortran03 741 742eLanguageTypeFortran08 = _lldb.eLanguageTypeFortran08 743 744eLanguageTypeRenderScript = _lldb.eLanguageTypeRenderScript 745 746eLanguageTypeBLISS = _lldb.eLanguageTypeBLISS 747 748eLanguageTypeKotlin = _lldb.eLanguageTypeKotlin 749 750eLanguageTypeZig = _lldb.eLanguageTypeZig 751 752eLanguageTypeCrystal = _lldb.eLanguageTypeCrystal 753 754eLanguageTypeC_plus_plus_17 = _lldb.eLanguageTypeC_plus_plus_17 755 756eLanguageTypeC_plus_plus_20 = _lldb.eLanguageTypeC_plus_plus_20 757 758eLanguageTypeC17 = _lldb.eLanguageTypeC17 759 760eLanguageTypeFortran18 = _lldb.eLanguageTypeFortran18 761 762eLanguageTypeAda2005 = _lldb.eLanguageTypeAda2005 763 764eLanguageTypeAda2012 = _lldb.eLanguageTypeAda2012 765 766eLanguageTypeHIP = _lldb.eLanguageTypeHIP 767 768eLanguageTypeAssembly = _lldb.eLanguageTypeAssembly 769 770eLanguageTypeC_sharp = _lldb.eLanguageTypeC_sharp 771 772eLanguageTypeMojo = _lldb.eLanguageTypeMojo 773 774eLanguageTypeMipsAssembler = _lldb.eLanguageTypeMipsAssembler 775 776eNumLanguageTypes = _lldb.eNumLanguageTypes 777 778eInstrumentationRuntimeTypeAddressSanitizer = _lldb.eInstrumentationRuntimeTypeAddressSanitizer 779 780eInstrumentationRuntimeTypeThreadSanitizer = _lldb.eInstrumentationRuntimeTypeThreadSanitizer 781 782eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer = _lldb.eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer 783 784eInstrumentationRuntimeTypeMainThreadChecker = _lldb.eInstrumentationRuntimeTypeMainThreadChecker 785 786eInstrumentationRuntimeTypeSwiftRuntimeReporting = _lldb.eInstrumentationRuntimeTypeSwiftRuntimeReporting 787 788eInstrumentationRuntimeTypeLibsanitizersAsan = _lldb.eInstrumentationRuntimeTypeLibsanitizersAsan 789 790eNumInstrumentationRuntimeTypes = _lldb.eNumInstrumentationRuntimeTypes 791 792eNoDynamicValues = _lldb.eNoDynamicValues 793 794eDynamicCanRunTarget = _lldb.eDynamicCanRunTarget 795 796eDynamicDontRunTarget = _lldb.eDynamicDontRunTarget 797 798eStopShowColumnAnsiOrCaret = _lldb.eStopShowColumnAnsiOrCaret 799 800eStopShowColumnAnsi = _lldb.eStopShowColumnAnsi 801 802eStopShowColumnCaret = _lldb.eStopShowColumnCaret 803 804eStopShowColumnNone = _lldb.eStopShowColumnNone 805 806eAccessNone = _lldb.eAccessNone 807 808eAccessPublic = _lldb.eAccessPublic 809 810eAccessPrivate = _lldb.eAccessPrivate 811 812eAccessProtected = _lldb.eAccessProtected 813 814eAccessPackage = _lldb.eAccessPackage 815 816eArgTypeAddress = _lldb.eArgTypeAddress 817 818eArgTypeAddressOrExpression = _lldb.eArgTypeAddressOrExpression 819 820eArgTypeAliasName = _lldb.eArgTypeAliasName 821 822eArgTypeAliasOptions = _lldb.eArgTypeAliasOptions 823 824eArgTypeArchitecture = _lldb.eArgTypeArchitecture 825 826eArgTypeBoolean = _lldb.eArgTypeBoolean 827 828eArgTypeBreakpointID = _lldb.eArgTypeBreakpointID 829 830eArgTypeBreakpointIDRange = _lldb.eArgTypeBreakpointIDRange 831 832eArgTypeBreakpointName = _lldb.eArgTypeBreakpointName 833 834eArgTypeByteSize = _lldb.eArgTypeByteSize 835 836eArgTypeClassName = _lldb.eArgTypeClassName 837 838eArgTypeCommandName = _lldb.eArgTypeCommandName 839 840eArgTypeCount = _lldb.eArgTypeCount 841 842eArgTypeDescriptionVerbosity = _lldb.eArgTypeDescriptionVerbosity 843 844eArgTypeDirectoryName = _lldb.eArgTypeDirectoryName 845 846eArgTypeDisassemblyFlavor = _lldb.eArgTypeDisassemblyFlavor 847 848eArgTypeEndAddress = _lldb.eArgTypeEndAddress 849 850eArgTypeExpression = _lldb.eArgTypeExpression 851 852eArgTypeExpressionPath = _lldb.eArgTypeExpressionPath 853 854eArgTypeExprFormat = _lldb.eArgTypeExprFormat 855 856eArgTypeFileLineColumn = _lldb.eArgTypeFileLineColumn 857 858eArgTypeFilename = _lldb.eArgTypeFilename 859 860eArgTypeFormat = _lldb.eArgTypeFormat 861 862eArgTypeFrameIndex = _lldb.eArgTypeFrameIndex 863 864eArgTypeFullName = _lldb.eArgTypeFullName 865 866eArgTypeFunctionName = _lldb.eArgTypeFunctionName 867 868eArgTypeFunctionOrSymbol = _lldb.eArgTypeFunctionOrSymbol 869 870eArgTypeGDBFormat = _lldb.eArgTypeGDBFormat 871 872eArgTypeHelpText = _lldb.eArgTypeHelpText 873 874eArgTypeIndex = _lldb.eArgTypeIndex 875 876eArgTypeLanguage = _lldb.eArgTypeLanguage 877 878eArgTypeLineNum = _lldb.eArgTypeLineNum 879 880eArgTypeLogCategory = _lldb.eArgTypeLogCategory 881 882eArgTypeLogChannel = _lldb.eArgTypeLogChannel 883 884eArgTypeMethod = _lldb.eArgTypeMethod 885 886eArgTypeName = _lldb.eArgTypeName 887 888eArgTypeNewPathPrefix = _lldb.eArgTypeNewPathPrefix 889 890eArgTypeNumLines = _lldb.eArgTypeNumLines 891 892eArgTypeNumberPerLine = _lldb.eArgTypeNumberPerLine 893 894eArgTypeOffset = _lldb.eArgTypeOffset 895 896eArgTypeOldPathPrefix = _lldb.eArgTypeOldPathPrefix 897 898eArgTypeOneLiner = _lldb.eArgTypeOneLiner 899 900eArgTypePath = _lldb.eArgTypePath 901 902eArgTypePermissionsNumber = _lldb.eArgTypePermissionsNumber 903 904eArgTypePermissionsString = _lldb.eArgTypePermissionsString 905 906eArgTypePid = _lldb.eArgTypePid 907 908eArgTypePlugin = _lldb.eArgTypePlugin 909 910eArgTypeProcessName = _lldb.eArgTypeProcessName 911 912eArgTypePythonClass = _lldb.eArgTypePythonClass 913 914eArgTypePythonFunction = _lldb.eArgTypePythonFunction 915 916eArgTypePythonScript = _lldb.eArgTypePythonScript 917 918eArgTypeQueueName = _lldb.eArgTypeQueueName 919 920eArgTypeRegisterName = _lldb.eArgTypeRegisterName 921 922eArgTypeRegularExpression = _lldb.eArgTypeRegularExpression 923 924eArgTypeRunArgs = _lldb.eArgTypeRunArgs 925 926eArgTypeRunMode = _lldb.eArgTypeRunMode 927 928eArgTypeScriptedCommandSynchronicity = _lldb.eArgTypeScriptedCommandSynchronicity 929 930eArgTypeScriptLang = _lldb.eArgTypeScriptLang 931 932eArgTypeSearchWord = _lldb.eArgTypeSearchWord 933 934eArgTypeSelector = _lldb.eArgTypeSelector 935 936eArgTypeSettingIndex = _lldb.eArgTypeSettingIndex 937 938eArgTypeSettingKey = _lldb.eArgTypeSettingKey 939 940eArgTypeSettingPrefix = _lldb.eArgTypeSettingPrefix 941 942eArgTypeSettingVariableName = _lldb.eArgTypeSettingVariableName 943 944eArgTypeShlibName = _lldb.eArgTypeShlibName 945 946eArgTypeSourceFile = _lldb.eArgTypeSourceFile 947 948eArgTypeSortOrder = _lldb.eArgTypeSortOrder 949 950eArgTypeStartAddress = _lldb.eArgTypeStartAddress 951 952eArgTypeSummaryString = _lldb.eArgTypeSummaryString 953 954eArgTypeSymbol = _lldb.eArgTypeSymbol 955 956eArgTypeThreadID = _lldb.eArgTypeThreadID 957 958eArgTypeThreadIndex = _lldb.eArgTypeThreadIndex 959 960eArgTypeThreadName = _lldb.eArgTypeThreadName 961 962eArgTypeTypeName = _lldb.eArgTypeTypeName 963 964eArgTypeUnsignedInteger = _lldb.eArgTypeUnsignedInteger 965 966eArgTypeUnixSignal = _lldb.eArgTypeUnixSignal 967 968eArgTypeVarName = _lldb.eArgTypeVarName 969 970eArgTypeValue = _lldb.eArgTypeValue 971 972eArgTypeWidth = _lldb.eArgTypeWidth 973 974eArgTypeNone = _lldb.eArgTypeNone 975 976eArgTypePlatform = _lldb.eArgTypePlatform 977 978eArgTypeWatchpointID = _lldb.eArgTypeWatchpointID 979 980eArgTypeWatchpointIDRange = _lldb.eArgTypeWatchpointIDRange 981 982eArgTypeWatchType = _lldb.eArgTypeWatchType 983 984eArgRawInput = _lldb.eArgRawInput 985 986eArgTypeCommand = _lldb.eArgTypeCommand 987 988eArgTypeColumnNum = _lldb.eArgTypeColumnNum 989 990eArgTypeModuleUUID = _lldb.eArgTypeModuleUUID 991 992eArgTypeSaveCoreStyle = _lldb.eArgTypeSaveCoreStyle 993 994eArgTypeLogHandler = _lldb.eArgTypeLogHandler 995 996eArgTypeSEDStylePair = _lldb.eArgTypeSEDStylePair 997 998eArgTypeRecognizerID = _lldb.eArgTypeRecognizerID 999 1000eArgTypeConnectURL = _lldb.eArgTypeConnectURL 1001 1002eArgTypeTargetID = _lldb.eArgTypeTargetID 1003 1004eArgTypeStopHookID = _lldb.eArgTypeStopHookID 1005 1006eArgTypeCompletionType = _lldb.eArgTypeCompletionType 1007 1008eArgTypeRemotePath = _lldb.eArgTypeRemotePath 1009 1010eArgTypeRemoteFilename = _lldb.eArgTypeRemoteFilename 1011 1012eArgTypeModule = _lldb.eArgTypeModule 1013 1014eArgTypeLastArg = _lldb.eArgTypeLastArg 1015 1016eSymbolTypeAny = _lldb.eSymbolTypeAny 1017 1018eSymbolTypeInvalid = _lldb.eSymbolTypeInvalid 1019 1020eSymbolTypeAbsolute = _lldb.eSymbolTypeAbsolute 1021 1022eSymbolTypeCode = _lldb.eSymbolTypeCode 1023 1024eSymbolTypeResolver = _lldb.eSymbolTypeResolver 1025 1026eSymbolTypeData = _lldb.eSymbolTypeData 1027 1028eSymbolTypeTrampoline = _lldb.eSymbolTypeTrampoline 1029 1030eSymbolTypeRuntime = _lldb.eSymbolTypeRuntime 1031 1032eSymbolTypeException = _lldb.eSymbolTypeException 1033 1034eSymbolTypeSourceFile = _lldb.eSymbolTypeSourceFile 1035 1036eSymbolTypeHeaderFile = _lldb.eSymbolTypeHeaderFile 1037 1038eSymbolTypeObjectFile = _lldb.eSymbolTypeObjectFile 1039 1040eSymbolTypeCommonBlock = _lldb.eSymbolTypeCommonBlock 1041 1042eSymbolTypeBlock = _lldb.eSymbolTypeBlock 1043 1044eSymbolTypeLocal = _lldb.eSymbolTypeLocal 1045 1046eSymbolTypeParam = _lldb.eSymbolTypeParam 1047 1048eSymbolTypeVariable = _lldb.eSymbolTypeVariable 1049 1050eSymbolTypeVariableType = _lldb.eSymbolTypeVariableType 1051 1052eSymbolTypeLineEntry = _lldb.eSymbolTypeLineEntry 1053 1054eSymbolTypeLineHeader = _lldb.eSymbolTypeLineHeader 1055 1056eSymbolTypeScopeBegin = _lldb.eSymbolTypeScopeBegin 1057 1058eSymbolTypeScopeEnd = _lldb.eSymbolTypeScopeEnd 1059 1060eSymbolTypeAdditional = _lldb.eSymbolTypeAdditional 1061 1062eSymbolTypeCompiler = _lldb.eSymbolTypeCompiler 1063 1064eSymbolTypeInstrumentation = _lldb.eSymbolTypeInstrumentation 1065 1066eSymbolTypeUndefined = _lldb.eSymbolTypeUndefined 1067 1068eSymbolTypeObjCClass = _lldb.eSymbolTypeObjCClass 1069 1070eSymbolTypeObjCMetaClass = _lldb.eSymbolTypeObjCMetaClass 1071 1072eSymbolTypeObjCIVar = _lldb.eSymbolTypeObjCIVar 1073 1074eSymbolTypeReExported = _lldb.eSymbolTypeReExported 1075 1076eSectionTypeInvalid = _lldb.eSectionTypeInvalid 1077 1078eSectionTypeCode = _lldb.eSectionTypeCode 1079 1080eSectionTypeContainer = _lldb.eSectionTypeContainer 1081 1082eSectionTypeData = _lldb.eSectionTypeData 1083 1084eSectionTypeDataCString = _lldb.eSectionTypeDataCString 1085 1086eSectionTypeDataCStringPointers = _lldb.eSectionTypeDataCStringPointers 1087 1088eSectionTypeDataSymbolAddress = _lldb.eSectionTypeDataSymbolAddress 1089 1090eSectionTypeData4 = _lldb.eSectionTypeData4 1091 1092eSectionTypeData8 = _lldb.eSectionTypeData8 1093 1094eSectionTypeData16 = _lldb.eSectionTypeData16 1095 1096eSectionTypeDataPointers = _lldb.eSectionTypeDataPointers 1097 1098eSectionTypeDebug = _lldb.eSectionTypeDebug 1099 1100eSectionTypeZeroFill = _lldb.eSectionTypeZeroFill 1101 1102eSectionTypeDataObjCMessageRefs = _lldb.eSectionTypeDataObjCMessageRefs 1103 1104eSectionTypeDataObjCCFStrings = _lldb.eSectionTypeDataObjCCFStrings 1105 1106eSectionTypeDWARFDebugAbbrev = _lldb.eSectionTypeDWARFDebugAbbrev 1107 1108eSectionTypeDWARFDebugAddr = _lldb.eSectionTypeDWARFDebugAddr 1109 1110eSectionTypeDWARFDebugAranges = _lldb.eSectionTypeDWARFDebugAranges 1111 1112eSectionTypeDWARFDebugCuIndex = _lldb.eSectionTypeDWARFDebugCuIndex 1113 1114eSectionTypeDWARFDebugFrame = _lldb.eSectionTypeDWARFDebugFrame 1115 1116eSectionTypeDWARFDebugInfo = _lldb.eSectionTypeDWARFDebugInfo 1117 1118eSectionTypeDWARFDebugLine = _lldb.eSectionTypeDWARFDebugLine 1119 1120eSectionTypeDWARFDebugLoc = _lldb.eSectionTypeDWARFDebugLoc 1121 1122eSectionTypeDWARFDebugMacInfo = _lldb.eSectionTypeDWARFDebugMacInfo 1123 1124eSectionTypeDWARFDebugMacro = _lldb.eSectionTypeDWARFDebugMacro 1125 1126eSectionTypeDWARFDebugPubNames = _lldb.eSectionTypeDWARFDebugPubNames 1127 1128eSectionTypeDWARFDebugPubTypes = _lldb.eSectionTypeDWARFDebugPubTypes 1129 1130eSectionTypeDWARFDebugRanges = _lldb.eSectionTypeDWARFDebugRanges 1131 1132eSectionTypeDWARFDebugStr = _lldb.eSectionTypeDWARFDebugStr 1133 1134eSectionTypeDWARFDebugStrOffsets = _lldb.eSectionTypeDWARFDebugStrOffsets 1135 1136eSectionTypeDWARFAppleNames = _lldb.eSectionTypeDWARFAppleNames 1137 1138eSectionTypeDWARFAppleTypes = _lldb.eSectionTypeDWARFAppleTypes 1139 1140eSectionTypeDWARFAppleNamespaces = _lldb.eSectionTypeDWARFAppleNamespaces 1141 1142eSectionTypeDWARFAppleObjC = _lldb.eSectionTypeDWARFAppleObjC 1143 1144eSectionTypeELFSymbolTable = _lldb.eSectionTypeELFSymbolTable 1145 1146eSectionTypeELFDynamicSymbols = _lldb.eSectionTypeELFDynamicSymbols 1147 1148eSectionTypeELFRelocationEntries = _lldb.eSectionTypeELFRelocationEntries 1149 1150eSectionTypeELFDynamicLinkInfo = _lldb.eSectionTypeELFDynamicLinkInfo 1151 1152eSectionTypeEHFrame = _lldb.eSectionTypeEHFrame 1153 1154eSectionTypeARMexidx = _lldb.eSectionTypeARMexidx 1155 1156eSectionTypeARMextab = _lldb.eSectionTypeARMextab 1157 1158eSectionTypeCompactUnwind = _lldb.eSectionTypeCompactUnwind 1159 1160eSectionTypeGoSymtab = _lldb.eSectionTypeGoSymtab 1161 1162eSectionTypeAbsoluteAddress = _lldb.eSectionTypeAbsoluteAddress 1163 1164eSectionTypeDWARFGNUDebugAltLink = _lldb.eSectionTypeDWARFGNUDebugAltLink 1165 1166eSectionTypeDWARFDebugTypes = _lldb.eSectionTypeDWARFDebugTypes 1167 1168eSectionTypeDWARFDebugNames = _lldb.eSectionTypeDWARFDebugNames 1169 1170eSectionTypeOther = _lldb.eSectionTypeOther 1171 1172eSectionTypeDWARFDebugLineStr = _lldb.eSectionTypeDWARFDebugLineStr 1173 1174eSectionTypeDWARFDebugRngLists = _lldb.eSectionTypeDWARFDebugRngLists 1175 1176eSectionTypeDWARFDebugLocLists = _lldb.eSectionTypeDWARFDebugLocLists 1177 1178eSectionTypeDWARFDebugAbbrevDwo = _lldb.eSectionTypeDWARFDebugAbbrevDwo 1179 1180eSectionTypeDWARFDebugInfoDwo = _lldb.eSectionTypeDWARFDebugInfoDwo 1181 1182eSectionTypeDWARFDebugStrDwo = _lldb.eSectionTypeDWARFDebugStrDwo 1183 1184eSectionTypeDWARFDebugStrOffsetsDwo = _lldb.eSectionTypeDWARFDebugStrOffsetsDwo 1185 1186eSectionTypeDWARFDebugTypesDwo = _lldb.eSectionTypeDWARFDebugTypesDwo 1187 1188eSectionTypeDWARFDebugRngListsDwo = _lldb.eSectionTypeDWARFDebugRngListsDwo 1189 1190eSectionTypeDWARFDebugLocDwo = _lldb.eSectionTypeDWARFDebugLocDwo 1191 1192eSectionTypeDWARFDebugLocListsDwo = _lldb.eSectionTypeDWARFDebugLocListsDwo 1193 1194eSectionTypeDWARFDebugTuIndex = _lldb.eSectionTypeDWARFDebugTuIndex 1195 1196eSectionTypeCTF = _lldb.eSectionTypeCTF 1197 1198eSectionTypeSwiftModules = _lldb.eSectionTypeSwiftModules 1199 1200eEmulateInstructionOptionNone = _lldb.eEmulateInstructionOptionNone 1201 1202eEmulateInstructionOptionAutoAdvancePC = _lldb.eEmulateInstructionOptionAutoAdvancePC 1203 1204eEmulateInstructionOptionIgnoreConditions = _lldb.eEmulateInstructionOptionIgnoreConditions 1205 1206eFunctionNameTypeNone = _lldb.eFunctionNameTypeNone 1207 1208eFunctionNameTypeAuto = _lldb.eFunctionNameTypeAuto 1209 1210eFunctionNameTypeFull = _lldb.eFunctionNameTypeFull 1211 1212eFunctionNameTypeBase = _lldb.eFunctionNameTypeBase 1213 1214eFunctionNameTypeMethod = _lldb.eFunctionNameTypeMethod 1215 1216eFunctionNameTypeSelector = _lldb.eFunctionNameTypeSelector 1217 1218eFunctionNameTypeAny = _lldb.eFunctionNameTypeAny 1219 1220eBasicTypeInvalid = _lldb.eBasicTypeInvalid 1221 1222eBasicTypeVoid = _lldb.eBasicTypeVoid 1223 1224eBasicTypeChar = _lldb.eBasicTypeChar 1225 1226eBasicTypeSignedChar = _lldb.eBasicTypeSignedChar 1227 1228eBasicTypeUnsignedChar = _lldb.eBasicTypeUnsignedChar 1229 1230eBasicTypeWChar = _lldb.eBasicTypeWChar 1231 1232eBasicTypeSignedWChar = _lldb.eBasicTypeSignedWChar 1233 1234eBasicTypeUnsignedWChar = _lldb.eBasicTypeUnsignedWChar 1235 1236eBasicTypeChar16 = _lldb.eBasicTypeChar16 1237 1238eBasicTypeChar32 = _lldb.eBasicTypeChar32 1239 1240eBasicTypeChar8 = _lldb.eBasicTypeChar8 1241 1242eBasicTypeShort = _lldb.eBasicTypeShort 1243 1244eBasicTypeUnsignedShort = _lldb.eBasicTypeUnsignedShort 1245 1246eBasicTypeInt = _lldb.eBasicTypeInt 1247 1248eBasicTypeUnsignedInt = _lldb.eBasicTypeUnsignedInt 1249 1250eBasicTypeLong = _lldb.eBasicTypeLong 1251 1252eBasicTypeUnsignedLong = _lldb.eBasicTypeUnsignedLong 1253 1254eBasicTypeLongLong = _lldb.eBasicTypeLongLong 1255 1256eBasicTypeUnsignedLongLong = _lldb.eBasicTypeUnsignedLongLong 1257 1258eBasicTypeInt128 = _lldb.eBasicTypeInt128 1259 1260eBasicTypeUnsignedInt128 = _lldb.eBasicTypeUnsignedInt128 1261 1262eBasicTypeBool = _lldb.eBasicTypeBool 1263 1264eBasicTypeHalf = _lldb.eBasicTypeHalf 1265 1266eBasicTypeFloat = _lldb.eBasicTypeFloat 1267 1268eBasicTypeDouble = _lldb.eBasicTypeDouble 1269 1270eBasicTypeLongDouble = _lldb.eBasicTypeLongDouble 1271 1272eBasicTypeFloatComplex = _lldb.eBasicTypeFloatComplex 1273 1274eBasicTypeDoubleComplex = _lldb.eBasicTypeDoubleComplex 1275 1276eBasicTypeLongDoubleComplex = _lldb.eBasicTypeLongDoubleComplex 1277 1278eBasicTypeObjCID = _lldb.eBasicTypeObjCID 1279 1280eBasicTypeObjCClass = _lldb.eBasicTypeObjCClass 1281 1282eBasicTypeObjCSel = _lldb.eBasicTypeObjCSel 1283 1284eBasicTypeNullPtr = _lldb.eBasicTypeNullPtr 1285 1286eBasicTypeOther = _lldb.eBasicTypeOther 1287 1288eTraceTypeNone = _lldb.eTraceTypeNone 1289 1290eTraceTypeProcessorTrace = _lldb.eTraceTypeProcessorTrace 1291 1292eStructuredDataTypeInvalid = _lldb.eStructuredDataTypeInvalid 1293 1294eStructuredDataTypeNull = _lldb.eStructuredDataTypeNull 1295 1296eStructuredDataTypeGeneric = _lldb.eStructuredDataTypeGeneric 1297 1298eStructuredDataTypeArray = _lldb.eStructuredDataTypeArray 1299 1300eStructuredDataTypeInteger = _lldb.eStructuredDataTypeInteger 1301 1302eStructuredDataTypeFloat = _lldb.eStructuredDataTypeFloat 1303 1304eStructuredDataTypeBoolean = _lldb.eStructuredDataTypeBoolean 1305 1306eStructuredDataTypeString = _lldb.eStructuredDataTypeString 1307 1308eStructuredDataTypeDictionary = _lldb.eStructuredDataTypeDictionary 1309 1310eStructuredDataTypeSignedInteger = _lldb.eStructuredDataTypeSignedInteger 1311 1312eStructuredDataTypeUnsignedInteger = _lldb.eStructuredDataTypeUnsignedInteger 1313 1314eTypeClassInvalid = _lldb.eTypeClassInvalid 1315 1316eTypeClassArray = _lldb.eTypeClassArray 1317 1318eTypeClassBlockPointer = _lldb.eTypeClassBlockPointer 1319 1320eTypeClassBuiltin = _lldb.eTypeClassBuiltin 1321 1322eTypeClassClass = _lldb.eTypeClassClass 1323 1324eTypeClassComplexFloat = _lldb.eTypeClassComplexFloat 1325 1326eTypeClassComplexInteger = _lldb.eTypeClassComplexInteger 1327 1328eTypeClassEnumeration = _lldb.eTypeClassEnumeration 1329 1330eTypeClassFunction = _lldb.eTypeClassFunction 1331 1332eTypeClassMemberPointer = _lldb.eTypeClassMemberPointer 1333 1334eTypeClassObjCObject = _lldb.eTypeClassObjCObject 1335 1336eTypeClassObjCInterface = _lldb.eTypeClassObjCInterface 1337 1338eTypeClassObjCObjectPointer = _lldb.eTypeClassObjCObjectPointer 1339 1340eTypeClassPointer = _lldb.eTypeClassPointer 1341 1342eTypeClassReference = _lldb.eTypeClassReference 1343 1344eTypeClassStruct = _lldb.eTypeClassStruct 1345 1346eTypeClassTypedef = _lldb.eTypeClassTypedef 1347 1348eTypeClassUnion = _lldb.eTypeClassUnion 1349 1350eTypeClassVector = _lldb.eTypeClassVector 1351 1352eTypeClassOther = _lldb.eTypeClassOther 1353 1354eTypeClassAny = _lldb.eTypeClassAny 1355 1356eTemplateArgumentKindNull = _lldb.eTemplateArgumentKindNull 1357 1358eTemplateArgumentKindType = _lldb.eTemplateArgumentKindType 1359 1360eTemplateArgumentKindDeclaration = _lldb.eTemplateArgumentKindDeclaration 1361 1362eTemplateArgumentKindIntegral = _lldb.eTemplateArgumentKindIntegral 1363 1364eTemplateArgumentKindTemplate = _lldb.eTemplateArgumentKindTemplate 1365 1366eTemplateArgumentKindTemplateExpansion = _lldb.eTemplateArgumentKindTemplateExpansion 1367 1368eTemplateArgumentKindExpression = _lldb.eTemplateArgumentKindExpression 1369 1370eTemplateArgumentKindPack = _lldb.eTemplateArgumentKindPack 1371 1372eTemplateArgumentKindNullPtr = _lldb.eTemplateArgumentKindNullPtr 1373 1374eTemplateArgumentKindStructuralValue = _lldb.eTemplateArgumentKindStructuralValue 1375 1376eFormatterMatchExact = _lldb.eFormatterMatchExact 1377 1378eFormatterMatchRegex = _lldb.eFormatterMatchRegex 1379 1380eFormatterMatchCallback = _lldb.eFormatterMatchCallback 1381 1382eLastFormatterMatchType = _lldb.eLastFormatterMatchType 1383 1384eTypeOptionNone = _lldb.eTypeOptionNone 1385 1386eTypeOptionCascade = _lldb.eTypeOptionCascade 1387 1388eTypeOptionSkipPointers = _lldb.eTypeOptionSkipPointers 1389 1390eTypeOptionSkipReferences = _lldb.eTypeOptionSkipReferences 1391 1392eTypeOptionHideChildren = _lldb.eTypeOptionHideChildren 1393 1394eTypeOptionHideValue = _lldb.eTypeOptionHideValue 1395 1396eTypeOptionShowOneLiner = _lldb.eTypeOptionShowOneLiner 1397 1398eTypeOptionHideNames = _lldb.eTypeOptionHideNames 1399 1400eTypeOptionNonCacheable = _lldb.eTypeOptionNonCacheable 1401 1402eTypeOptionHideEmptyAggregates = _lldb.eTypeOptionHideEmptyAggregates 1403 1404eTypeOptionFrontEndWantsDereference = _lldb.eTypeOptionFrontEndWantsDereference 1405 1406eFrameCompareInvalid = _lldb.eFrameCompareInvalid 1407 1408eFrameCompareUnknown = _lldb.eFrameCompareUnknown 1409 1410eFrameCompareEqual = _lldb.eFrameCompareEqual 1411 1412eFrameCompareSameParent = _lldb.eFrameCompareSameParent 1413 1414eFrameCompareYounger = _lldb.eFrameCompareYounger 1415 1416eFrameCompareOlder = _lldb.eFrameCompareOlder 1417 1418eFilePermissionsUserRead = _lldb.eFilePermissionsUserRead 1419 1420eFilePermissionsUserWrite = _lldb.eFilePermissionsUserWrite 1421 1422eFilePermissionsUserExecute = _lldb.eFilePermissionsUserExecute 1423 1424eFilePermissionsGroupRead = _lldb.eFilePermissionsGroupRead 1425 1426eFilePermissionsGroupWrite = _lldb.eFilePermissionsGroupWrite 1427 1428eFilePermissionsGroupExecute = _lldb.eFilePermissionsGroupExecute 1429 1430eFilePermissionsWorldRead = _lldb.eFilePermissionsWorldRead 1431 1432eFilePermissionsWorldWrite = _lldb.eFilePermissionsWorldWrite 1433 1434eFilePermissionsWorldExecute = _lldb.eFilePermissionsWorldExecute 1435 1436eFilePermissionsUserRW = _lldb.eFilePermissionsUserRW 1437 1438eFileFilePermissionsUserRX = _lldb.eFileFilePermissionsUserRX 1439 1440eFilePermissionsUserRWX = _lldb.eFilePermissionsUserRWX 1441 1442eFilePermissionsGroupRW = _lldb.eFilePermissionsGroupRW 1443 1444eFilePermissionsGroupRX = _lldb.eFilePermissionsGroupRX 1445 1446eFilePermissionsGroupRWX = _lldb.eFilePermissionsGroupRWX 1447 1448eFilePermissionsWorldRW = _lldb.eFilePermissionsWorldRW 1449 1450eFilePermissionsWorldRX = _lldb.eFilePermissionsWorldRX 1451 1452eFilePermissionsWorldRWX = _lldb.eFilePermissionsWorldRWX 1453 1454eFilePermissionsEveryoneR = _lldb.eFilePermissionsEveryoneR 1455 1456eFilePermissionsEveryoneW = _lldb.eFilePermissionsEveryoneW 1457 1458eFilePermissionsEveryoneX = _lldb.eFilePermissionsEveryoneX 1459 1460eFilePermissionsEveryoneRW = _lldb.eFilePermissionsEveryoneRW 1461 1462eFilePermissionsEveryoneRX = _lldb.eFilePermissionsEveryoneRX 1463 1464eFilePermissionsEveryoneRWX = _lldb.eFilePermissionsEveryoneRWX 1465 1466eFilePermissionsFileDefault = _lldb.eFilePermissionsFileDefault 1467 1468eFilePermissionsDirectoryDefault = _lldb.eFilePermissionsDirectoryDefault 1469 1470eQueueItemKindUnknown = _lldb.eQueueItemKindUnknown 1471 1472eQueueItemKindFunction = _lldb.eQueueItemKindFunction 1473 1474eQueueItemKindBlock = _lldb.eQueueItemKindBlock 1475 1476eQueueKindUnknown = _lldb.eQueueKindUnknown 1477 1478eQueueKindSerial = _lldb.eQueueKindSerial 1479 1480eQueueKindConcurrent = _lldb.eQueueKindConcurrent 1481 1482eExpressionEvaluationParse = _lldb.eExpressionEvaluationParse 1483 1484eExpressionEvaluationIRGen = _lldb.eExpressionEvaluationIRGen 1485 1486eExpressionEvaluationExecution = _lldb.eExpressionEvaluationExecution 1487 1488eExpressionEvaluationComplete = _lldb.eExpressionEvaluationComplete 1489 1490eInstructionControlFlowKindUnknown = _lldb.eInstructionControlFlowKindUnknown 1491 1492eInstructionControlFlowKindOther = _lldb.eInstructionControlFlowKindOther 1493 1494eInstructionControlFlowKindCall = _lldb.eInstructionControlFlowKindCall 1495 1496eInstructionControlFlowKindReturn = _lldb.eInstructionControlFlowKindReturn 1497 1498eInstructionControlFlowKindJump = _lldb.eInstructionControlFlowKindJump 1499 1500eInstructionControlFlowKindCondJump = _lldb.eInstructionControlFlowKindCondJump 1501 1502eInstructionControlFlowKindFarCall = _lldb.eInstructionControlFlowKindFarCall 1503 1504eInstructionControlFlowKindFarReturn = _lldb.eInstructionControlFlowKindFarReturn 1505 1506eInstructionControlFlowKindFarJump = _lldb.eInstructionControlFlowKindFarJump 1507 1508eWatchpointKindWrite = _lldb.eWatchpointKindWrite 1509 1510eWatchpointKindRead = _lldb.eWatchpointKindRead 1511 1512eGdbSignalBadAccess = _lldb.eGdbSignalBadAccess 1513 1514eGdbSignalBadInstruction = _lldb.eGdbSignalBadInstruction 1515 1516eGdbSignalArithmetic = _lldb.eGdbSignalArithmetic 1517 1518eGdbSignalEmulation = _lldb.eGdbSignalEmulation 1519 1520eGdbSignalSoftware = _lldb.eGdbSignalSoftware 1521 1522eGdbSignalBreakpoint = _lldb.eGdbSignalBreakpoint 1523 1524ePathTypeLLDBShlibDir = _lldb.ePathTypeLLDBShlibDir 1525 1526ePathTypeSupportExecutableDir = _lldb.ePathTypeSupportExecutableDir 1527 1528ePathTypeHeaderDir = _lldb.ePathTypeHeaderDir 1529 1530ePathTypePythonDir = _lldb.ePathTypePythonDir 1531 1532ePathTypeLLDBSystemPlugins = _lldb.ePathTypeLLDBSystemPlugins 1533 1534ePathTypeLLDBUserPlugins = _lldb.ePathTypeLLDBUserPlugins 1535 1536ePathTypeLLDBTempSystemDir = _lldb.ePathTypeLLDBTempSystemDir 1537 1538ePathTypeGlobalLLDBTempSystemDir = _lldb.ePathTypeGlobalLLDBTempSystemDir 1539 1540ePathTypeClangDir = _lldb.ePathTypeClangDir 1541 1542eMemberFunctionKindUnknown = _lldb.eMemberFunctionKindUnknown 1543 1544eMemberFunctionKindConstructor = _lldb.eMemberFunctionKindConstructor 1545 1546eMemberFunctionKindDestructor = _lldb.eMemberFunctionKindDestructor 1547 1548eMemberFunctionKindInstanceMethod = _lldb.eMemberFunctionKindInstanceMethod 1549 1550eMemberFunctionKindStaticMethod = _lldb.eMemberFunctionKindStaticMethod 1551 1552eMatchTypeNormal = _lldb.eMatchTypeNormal 1553 1554eMatchTypeRegex = _lldb.eMatchTypeRegex 1555 1556eMatchTypeStartsWith = _lldb.eMatchTypeStartsWith 1557 1558eMatchTypeRegexInsensitive = _lldb.eMatchTypeRegexInsensitive 1559 1560eTypeHasChildren = _lldb.eTypeHasChildren 1561 1562eTypeHasValue = _lldb.eTypeHasValue 1563 1564eTypeIsArray = _lldb.eTypeIsArray 1565 1566eTypeIsBlock = _lldb.eTypeIsBlock 1567 1568eTypeIsBuiltIn = _lldb.eTypeIsBuiltIn 1569 1570eTypeIsClass = _lldb.eTypeIsClass 1571 1572eTypeIsCPlusPlus = _lldb.eTypeIsCPlusPlus 1573 1574eTypeIsEnumeration = _lldb.eTypeIsEnumeration 1575 1576eTypeIsFuncPrototype = _lldb.eTypeIsFuncPrototype 1577 1578eTypeIsMember = _lldb.eTypeIsMember 1579 1580eTypeIsObjC = _lldb.eTypeIsObjC 1581 1582eTypeIsPointer = _lldb.eTypeIsPointer 1583 1584eTypeIsReference = _lldb.eTypeIsReference 1585 1586eTypeIsStructUnion = _lldb.eTypeIsStructUnion 1587 1588eTypeIsTemplate = _lldb.eTypeIsTemplate 1589 1590eTypeIsTypedef = _lldb.eTypeIsTypedef 1591 1592eTypeIsVector = _lldb.eTypeIsVector 1593 1594eTypeIsScalar = _lldb.eTypeIsScalar 1595 1596eTypeIsInteger = _lldb.eTypeIsInteger 1597 1598eTypeIsFloat = _lldb.eTypeIsFloat 1599 1600eTypeIsComplex = _lldb.eTypeIsComplex 1601 1602eTypeIsSigned = _lldb.eTypeIsSigned 1603 1604eTypeInstanceIsPointer = _lldb.eTypeInstanceIsPointer 1605 1606eCommandRequiresTarget = _lldb.eCommandRequiresTarget 1607 1608eCommandRequiresProcess = _lldb.eCommandRequiresProcess 1609 1610eCommandRequiresThread = _lldb.eCommandRequiresThread 1611 1612eCommandRequiresFrame = _lldb.eCommandRequiresFrame 1613 1614eCommandRequiresRegContext = _lldb.eCommandRequiresRegContext 1615 1616eCommandTryTargetAPILock = _lldb.eCommandTryTargetAPILock 1617 1618eCommandProcessMustBeLaunched = _lldb.eCommandProcessMustBeLaunched 1619 1620eCommandProcessMustBePaused = _lldb.eCommandProcessMustBePaused 1621 1622eCommandProcessMustBeTraced = _lldb.eCommandProcessMustBeTraced 1623 1624eTypeSummaryCapped = _lldb.eTypeSummaryCapped 1625 1626eTypeSummaryUncapped = _lldb.eTypeSummaryUncapped 1627 1628eCommandInterpreterResultSuccess = _lldb.eCommandInterpreterResultSuccess 1629 1630eCommandInterpreterResultInferiorCrash = _lldb.eCommandInterpreterResultInferiorCrash 1631 1632eCommandInterpreterResultCommandError = _lldb.eCommandInterpreterResultCommandError 1633 1634eCommandInterpreterResultQuitRequested = _lldb.eCommandInterpreterResultQuitRequested 1635 1636eSaveCoreUnspecified = _lldb.eSaveCoreUnspecified 1637 1638eSaveCoreFull = _lldb.eSaveCoreFull 1639 1640eSaveCoreDirtyOnly = _lldb.eSaveCoreDirtyOnly 1641 1642eSaveCoreStackOnly = _lldb.eSaveCoreStackOnly 1643 1644eTraceEventDisabledSW = _lldb.eTraceEventDisabledSW 1645 1646eTraceEventDisabledHW = _lldb.eTraceEventDisabledHW 1647 1648eTraceEventCPUChanged = _lldb.eTraceEventCPUChanged 1649 1650eTraceEventHWClockTick = _lldb.eTraceEventHWClockTick 1651 1652eTraceEventSyncPoint = _lldb.eTraceEventSyncPoint 1653 1654eTraceItemKindError = _lldb.eTraceItemKindError 1655 1656eTraceItemKindEvent = _lldb.eTraceItemKindEvent 1657 1658eTraceItemKindInstruction = _lldb.eTraceItemKindInstruction 1659 1660eTraceCursorSeekTypeBeginning = _lldb.eTraceCursorSeekTypeBeginning 1661 1662eTraceCursorSeekTypeCurrent = _lldb.eTraceCursorSeekTypeCurrent 1663 1664eTraceCursorSeekTypeEnd = _lldb.eTraceCursorSeekTypeEnd 1665 1666eDWIMPrintVerbosityNone = _lldb.eDWIMPrintVerbosityNone 1667 1668eDWIMPrintVerbosityExpression = _lldb.eDWIMPrintVerbosityExpression 1669 1670eDWIMPrintVerbosityFull = _lldb.eDWIMPrintVerbosityFull 1671 1672eWatchPointValueKindInvalid = _lldb.eWatchPointValueKindInvalid 1673 1674eWatchPointValueKindVariable = _lldb.eWatchPointValueKindVariable 1675 1676eWatchPointValueKindExpression = _lldb.eWatchPointValueKindExpression 1677 1678eNoCompletion = _lldb.eNoCompletion 1679 1680eSourceFileCompletion = _lldb.eSourceFileCompletion 1681 1682eDiskFileCompletion = _lldb.eDiskFileCompletion 1683 1684eDiskDirectoryCompletion = _lldb.eDiskDirectoryCompletion 1685 1686eSymbolCompletion = _lldb.eSymbolCompletion 1687 1688eModuleCompletion = _lldb.eModuleCompletion 1689 1690eSettingsNameCompletion = _lldb.eSettingsNameCompletion 1691 1692ePlatformPluginCompletion = _lldb.ePlatformPluginCompletion 1693 1694eArchitectureCompletion = _lldb.eArchitectureCompletion 1695 1696eVariablePathCompletion = _lldb.eVariablePathCompletion 1697 1698eRegisterCompletion = _lldb.eRegisterCompletion 1699 1700eBreakpointCompletion = _lldb.eBreakpointCompletion 1701 1702eProcessPluginCompletion = _lldb.eProcessPluginCompletion 1703 1704eDisassemblyFlavorCompletion = _lldb.eDisassemblyFlavorCompletion 1705 1706eTypeLanguageCompletion = _lldb.eTypeLanguageCompletion 1707 1708eFrameIndexCompletion = _lldb.eFrameIndexCompletion 1709 1710eModuleUUIDCompletion = _lldb.eModuleUUIDCompletion 1711 1712eStopHookIDCompletion = _lldb.eStopHookIDCompletion 1713 1714eThreadIndexCompletion = _lldb.eThreadIndexCompletion 1715 1716eWatchpointIDCompletion = _lldb.eWatchpointIDCompletion 1717 1718eBreakpointNameCompletion = _lldb.eBreakpointNameCompletion 1719 1720eProcessIDCompletion = _lldb.eProcessIDCompletion 1721 1722eProcessNameCompletion = _lldb.eProcessNameCompletion 1723 1724eRemoteDiskFileCompletion = _lldb.eRemoteDiskFileCompletion 1725 1726eRemoteDiskDirectoryCompletion = _lldb.eRemoteDiskDirectoryCompletion 1727 1728eTypeCategoryNameCompletion = _lldb.eTypeCategoryNameCompletion 1729 1730eCustomCompletion = _lldb.eCustomCompletion 1731 1732eThreadIDCompletion = _lldb.eThreadIDCompletion 1733 1734eTerminatorCompletion = _lldb.eTerminatorCompletion 1735 1736eRefetch = _lldb.eRefetch 1737 1738eReuse = _lldb.eReuse 1739 1740eSymbolDownloadOff = _lldb.eSymbolDownloadOff 1741 1742eSymbolDownloadBackground = _lldb.eSymbolDownloadBackground 1743 1744eSymbolDownloadForeground = _lldb.eSymbolDownloadForeground 1745 1746eAddressMaskTypeCode = _lldb.eAddressMaskTypeCode 1747 1748eAddressMaskTypeData = _lldb.eAddressMaskTypeData 1749 1750eAddressMaskTypeAny = _lldb.eAddressMaskTypeAny 1751 1752eAddressMaskTypeAll = _lldb.eAddressMaskTypeAll 1753 1754eAddressMaskRangeLow = _lldb.eAddressMaskRangeLow 1755 1756eAddressMaskRangeHigh = _lldb.eAddressMaskRangeHigh 1757 1758eAddressMaskRangeAny = _lldb.eAddressMaskRangeAny 1759 1760eAddressMaskRangeAll = _lldb.eAddressMaskRangeAll 1761 1762eBroadcastBitProgress = _lldb.eBroadcastBitProgress 1763 1764eBroadcastBitWarning = _lldb.eBroadcastBitWarning 1765 1766eBroadcastBitError = _lldb.eBroadcastBitError 1767 1768eBroadcastSymbolChange = _lldb.eBroadcastSymbolChange 1769 1770eBroadcastBitProgressCategory = _lldb.eBroadcastBitProgressCategory 1771 1772eSeverityError = _lldb.eSeverityError 1773 1774eSeverityWarning = _lldb.eSeverityWarning 1775 1776eSeverityInfo = _lldb.eSeverityInfo 1777 1778class SBAddress(object): 1779 r""" 1780 A section + offset based address class. 1781 1782 The SBAddress class allows addresses to be relative to a section 1783 that can move during runtime due to images (executables, shared 1784 libraries, bundles, frameworks) being loaded at different 1785 addresses than the addresses found in the object file that 1786 represents them on disk. There are currently two types of addresses 1787 for a section: 1788 1789 * file addresses 1790 * load addresses 1791 1792 File addresses represents the virtual addresses that are in the 'on 1793 disk' object files. These virtual addresses are converted to be 1794 relative to unique sections scoped to the object file so that 1795 when/if the addresses slide when the images are loaded/unloaded 1796 in memory, we can easily track these changes without having to 1797 update every object (compile unit ranges, line tables, function 1798 address ranges, lexical block and inlined subroutine address 1799 ranges, global and static variables) each time an image is loaded or 1800 unloaded. 1801 1802 Load addresses represents the virtual addresses where each section 1803 ends up getting loaded at runtime. Before executing a program, it 1804 is common for all of the load addresses to be unresolved. When a 1805 DynamicLoader plug-in receives notification that shared libraries 1806 have been loaded/unloaded, the load addresses of the main executable 1807 and any images (shared libraries) will be resolved/unresolved. When 1808 this happens, breakpoints that are in one of these sections can be 1809 set/cleared. 1810 1811 See docstring of SBFunction for example usage of SBAddress. 1812 """ 1813 1814 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 1815 1816 def __init__(self, *args): 1817 r""" 1818 __init__(SBAddress self) -> SBAddress 1819 __init__(SBAddress self, SBAddress rhs) -> SBAddress 1820 __init__(SBAddress self, SBSection section, lldb::addr_t offset) -> SBAddress 1821 __init__(SBAddress self, lldb::addr_t load_addr, SBTarget target) -> SBAddress 1822 1823 Create an address by resolving a load address using the supplied target. 1824 """ 1825 _lldb.SBAddress_swiginit(self, _lldb.new_SBAddress(*args)) 1826 __swig_destroy__ = _lldb.delete_SBAddress 1827 1828 def __nonzero__(self): 1829 return _lldb.SBAddress___nonzero__(self) 1830 __bool__ = __nonzero__ 1831 1832 1833 1834 def __ne__(self, rhs): 1835 r"""__ne__(SBAddress self, SBAddress rhs) -> bool""" 1836 return _lldb.SBAddress___ne__(self, rhs) 1837 1838 def IsValid(self): 1839 r"""IsValid(SBAddress self) -> bool""" 1840 return _lldb.SBAddress_IsValid(self) 1841 1842 def Clear(self): 1843 r"""Clear(SBAddress self)""" 1844 return _lldb.SBAddress_Clear(self) 1845 1846 def GetFileAddress(self): 1847 r"""GetFileAddress(SBAddress self) -> lldb::addr_t""" 1848 return _lldb.SBAddress_GetFileAddress(self) 1849 1850 def GetLoadAddress(self, target): 1851 r"""GetLoadAddress(SBAddress self, SBTarget target) -> lldb::addr_t""" 1852 return _lldb.SBAddress_GetLoadAddress(self, target) 1853 1854 def SetAddress(self, section, offset): 1855 r"""SetAddress(SBAddress self, SBSection section, lldb::addr_t offset)""" 1856 return _lldb.SBAddress_SetAddress(self, section, offset) 1857 1858 def SetLoadAddress(self, load_addr, target): 1859 r"""SetLoadAddress(SBAddress self, lldb::addr_t load_addr, SBTarget target)""" 1860 return _lldb.SBAddress_SetLoadAddress(self, load_addr, target) 1861 1862 def OffsetAddress(self, offset): 1863 r"""OffsetAddress(SBAddress self, lldb::addr_t offset) -> bool""" 1864 return _lldb.SBAddress_OffsetAddress(self, offset) 1865 1866 def GetDescription(self, description): 1867 r"""GetDescription(SBAddress self, SBStream description) -> bool""" 1868 return _lldb.SBAddress_GetDescription(self, description) 1869 1870 def GetSymbolContext(self, resolve_scope): 1871 r""" 1872 GetSymbolContext(SBAddress self, uint32_t resolve_scope) -> SBSymbolContext 1873 1874 GetSymbolContext() and the following can lookup symbol information for a given address. 1875 An address might refer to code or data from an existing module, or it 1876 might refer to something on the stack or heap. The following functions 1877 will only return valid values if the address has been resolved to a code 1878 or data address using :py:class:`SBAddress.SetLoadAddress' or 1879 :py:class:`SBTarget.ResolveLoadAddress`. 1880 """ 1881 return _lldb.SBAddress_GetSymbolContext(self, resolve_scope) 1882 1883 def GetSection(self): 1884 r"""GetSection(SBAddress self) -> SBSection""" 1885 return _lldb.SBAddress_GetSection(self) 1886 1887 def GetOffset(self): 1888 r"""GetOffset(SBAddress self) -> lldb::addr_t""" 1889 return _lldb.SBAddress_GetOffset(self) 1890 1891 def GetModule(self): 1892 r""" 1893 GetModule(SBAddress self) -> SBModule 1894 1895 GetModule() and the following grab individual objects for a given address and 1896 are less efficient if you want more than one symbol related objects. 1897 Use :py:class:`SBAddress.GetSymbolContext` or 1898 :py:class:`SBTarget.ResolveSymbolContextForAddress` when you want multiple 1899 debug symbol related objects for an address. 1900 One or more bits from the SymbolContextItem enumerations can be logically 1901 OR'ed together to more efficiently retrieve multiple symbol objects. 1902 """ 1903 return _lldb.SBAddress_GetModule(self) 1904 1905 def GetCompileUnit(self): 1906 r"""GetCompileUnit(SBAddress self) -> SBCompileUnit""" 1907 return _lldb.SBAddress_GetCompileUnit(self) 1908 1909 def GetFunction(self): 1910 r"""GetFunction(SBAddress self) -> SBFunction""" 1911 return _lldb.SBAddress_GetFunction(self) 1912 1913 def GetBlock(self): 1914 r"""GetBlock(SBAddress self) -> SBBlock""" 1915 return _lldb.SBAddress_GetBlock(self) 1916 1917 def GetSymbol(self): 1918 r"""GetSymbol(SBAddress self) -> SBSymbol""" 1919 return _lldb.SBAddress_GetSymbol(self) 1920 1921 def GetLineEntry(self): 1922 r"""GetLineEntry(SBAddress self) -> SBLineEntry""" 1923 return _lldb.SBAddress_GetLineEntry(self) 1924 1925 def __repr__(self): 1926 r"""__repr__(SBAddress self) -> std::string""" 1927 return _lldb.SBAddress___repr__(self) 1928 1929 # operator== is a free function, which swig does not handle, so we inject 1930 # our own equality operator here 1931 def __eq__(self, other): 1932 return not self.__ne__(other) 1933 1934 1935 __runtime_error_str = 'This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.' 1936 1937 def __get_load_addr_property__ (self): 1938 '''Get the load address for a lldb.SBAddress using the current target. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''' 1939 if not target: 1940 raise RuntimeError(self.__runtime_error_str) 1941 return self.GetLoadAddress (target) 1942 1943 def __set_load_addr_property__ (self, load_addr): 1944 '''Set the load address for a lldb.SBAddress using the current target. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''' 1945 if not target: 1946 raise RuntimeError(self.__runtime_error_str) 1947 return self.SetLoadAddress (load_addr, target) 1948 1949 def __int__(self): 1950 '''Convert an address to a load address if there is a process and that process is alive, or to a file address otherwise. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''' 1951 if not process or not target: 1952 raise RuntimeError(self.__runtime_error_str) 1953 if process.is_alive: 1954 return self.GetLoadAddress (target) 1955 return self.GetFileAddress () 1956 1957 def __oct__(self): 1958 '''Convert the address to an octal string. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''' 1959 return '%o' % int(self) 1960 1961 def __hex__(self): 1962 '''Convert the address to an hex string. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''' 1963 return '0x%x' % int(self) 1964 1965 module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) that this address resides within.''') 1966 compile_unit = property(GetCompileUnit, None, doc='''A read only property that returns an lldb object that represents the compile unit (lldb.SBCompileUnit) that this address resides within.''') 1967 line_entry = property(GetLineEntry, None, doc='''A read only property that returns an lldb object that represents the line entry (lldb.SBLineEntry) that this address resides within.''') 1968 function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) that this address resides within.''') 1969 block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) that this address resides within.''') 1970 symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) that this address resides within.''') 1971 offset = property(GetOffset, None, doc='''A read only property that returns the section offset in bytes as an integer.''') 1972 section = property(GetSection, None, doc='''A read only property that returns an lldb object that represents the section (lldb.SBSection) that this address resides within.''') 1973 file_addr = property(GetFileAddress, None, doc='''A read only property that returns file address for the section as an integer. This is the address that represents the address as it is found in the object file that defines it.''') 1974 load_addr = property(__get_load_addr_property__, __set_load_addr_property__, doc='''A read/write property that gets/sets the SBAddress using load address. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''') 1975 1976 1977# Register SBAddress in _lldb: 1978_lldb.SBAddress_swigregister(SBAddress) 1979class SBAddressRange(object): 1980 r"""API clients can get address range information.""" 1981 1982 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 1983 __repr__ = _swig_repr 1984 1985 def __init__(self, *args): 1986 r""" 1987 __init__(SBAddressRange self) -> SBAddressRange 1988 __init__(SBAddressRange self, SBAddressRange rhs) -> SBAddressRange 1989 __init__(SBAddressRange self, SBAddress addr, lldb::addr_t byte_size) -> SBAddressRange 1990 """ 1991 _lldb.SBAddressRange_swiginit(self, _lldb.new_SBAddressRange(*args)) 1992 __swig_destroy__ = _lldb.delete_SBAddressRange 1993 1994 def Clear(self): 1995 r"""Clear(SBAddressRange self)""" 1996 return _lldb.SBAddressRange_Clear(self) 1997 1998 def IsValid(self): 1999 r"""IsValid(SBAddressRange self) -> bool""" 2000 return _lldb.SBAddressRange_IsValid(self) 2001 2002 def GetBaseAddress(self): 2003 r"""GetBaseAddress(SBAddressRange self) -> SBAddress""" 2004 return _lldb.SBAddressRange_GetBaseAddress(self) 2005 2006 def GetByteSize(self): 2007 r"""GetByteSize(SBAddressRange self) -> lldb::addr_t""" 2008 return _lldb.SBAddressRange_GetByteSize(self) 2009 2010 def __eq__(self, rhs): 2011 r"""__eq__(SBAddressRange self, SBAddressRange rhs) -> bool""" 2012 return _lldb.SBAddressRange___eq__(self, rhs) 2013 2014 def __ne__(self, rhs): 2015 r"""__ne__(SBAddressRange self, SBAddressRange rhs) -> bool""" 2016 return _lldb.SBAddressRange___ne__(self, rhs) 2017 2018 def GetDescription(self, description, target): 2019 r"""GetDescription(SBAddressRange self, SBStream description, SBTarget target) -> bool""" 2020 return _lldb.SBAddressRange_GetDescription(self, description, target) 2021 2022 def __repr__(self): 2023 import lldb 2024 stream = lldb.SBStream() 2025 self.GetDescription(stream, lldb.target if lldb.target else lldb.SBTarget()) 2026 return stream.GetData() 2027 2028 2029# Register SBAddressRange in _lldb: 2030_lldb.SBAddressRange_swigregister(SBAddressRange) 2031class SBAddressRangeList(object): 2032 r"""Represents a list of :py:class:`SBAddressRange`.""" 2033 2034 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2035 __repr__ = _swig_repr 2036 2037 def __init__(self, *args): 2038 r""" 2039 __init__(SBAddressRangeList self) -> SBAddressRangeList 2040 __init__(SBAddressRangeList self, SBAddressRangeList rhs) -> SBAddressRangeList 2041 """ 2042 _lldb.SBAddressRangeList_swiginit(self, _lldb.new_SBAddressRangeList(*args)) 2043 __swig_destroy__ = _lldb.delete_SBAddressRangeList 2044 2045 def GetSize(self): 2046 r"""GetSize(SBAddressRangeList self) -> uint32_t""" 2047 return _lldb.SBAddressRangeList_GetSize(self) 2048 2049 def Clear(self): 2050 r"""Clear(SBAddressRangeList self)""" 2051 return _lldb.SBAddressRangeList_Clear(self) 2052 2053 def GetAddressRangeAtIndex(self, idx): 2054 r"""GetAddressRangeAtIndex(SBAddressRangeList self, uint64_t idx) -> SBAddressRange""" 2055 return _lldb.SBAddressRangeList_GetAddressRangeAtIndex(self, idx) 2056 2057 def Append(self, *args): 2058 r""" 2059 Append(SBAddressRangeList self, SBAddressRange addr_range) 2060 Append(SBAddressRangeList self, SBAddressRangeList addr_range_list) 2061 """ 2062 return _lldb.SBAddressRangeList_Append(self, *args) 2063 2064 def GetDescription(self, description, target): 2065 r"""GetDescription(SBAddressRangeList self, SBStream description, SBTarget target) -> bool""" 2066 return _lldb.SBAddressRangeList_GetDescription(self, description, target) 2067 2068 def __len__(self): 2069 '''Return the number of address ranges in a lldb.SBAddressRangeList object.''' 2070 return self.GetSize() 2071 2072 def __iter__(self): 2073 '''Iterate over all the address ranges in a lldb.SBAddressRangeList object.''' 2074 return lldb_iter(self, 'GetSize', 'GetAddressRangeAtIndex') 2075 2076 def __getitem__(self, idx): 2077 '''Get the address range at a given index in an lldb.SBAddressRangeList object.''' 2078 if not isinstance(idx, int): 2079 raise TypeError("unsupported index type: %s" % type(idx)) 2080 count = len(self) 2081 if not (-count <= idx < count): 2082 raise IndexError("list index out of range") 2083 idx %= count 2084 return self.GetAddressRangeAtIndex(idx) 2085 2086 def __repr__(self): 2087 import lldb 2088 stream = lldb.SBStream() 2089 self.GetDescription(stream, lldb.target if lldb.target else lldb.SBTarget()) 2090 return stream.GetData() 2091 2092 2093# Register SBAddressRangeList in _lldb: 2094_lldb.SBAddressRangeList_swigregister(SBAddressRangeList) 2095class SBAttachInfo(object): 2096 r"""Describes how to attach when calling :py:class:`SBTarget.Attach`.""" 2097 2098 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2099 __repr__ = _swig_repr 2100 2101 def __init__(self, *args): 2102 r""" 2103 __init__(SBAttachInfo self) -> SBAttachInfo 2104 __init__(SBAttachInfo self, lldb::pid_t pid) -> SBAttachInfo 2105 __init__(SBAttachInfo self, char const * path, bool wait_for) -> SBAttachInfo 2106 __init__(SBAttachInfo self, char const * path, bool wait_for, bool _async) -> SBAttachInfo 2107 __init__(SBAttachInfo self, SBAttachInfo rhs) -> SBAttachInfo 2108 """ 2109 _lldb.SBAttachInfo_swiginit(self, _lldb.new_SBAttachInfo(*args)) 2110 __swig_destroy__ = _lldb.delete_SBAttachInfo 2111 2112 def GetProcessID(self): 2113 r"""GetProcessID(SBAttachInfo self) -> lldb::pid_t""" 2114 return _lldb.SBAttachInfo_GetProcessID(self) 2115 2116 def SetProcessID(self, pid): 2117 r"""SetProcessID(SBAttachInfo self, lldb::pid_t pid)""" 2118 return _lldb.SBAttachInfo_SetProcessID(self, pid) 2119 2120 def SetExecutable(self, *args): 2121 r""" 2122 SetExecutable(SBAttachInfo self, char const * path) 2123 SetExecutable(SBAttachInfo self, SBFileSpec exe_file) 2124 """ 2125 return _lldb.SBAttachInfo_SetExecutable(self, *args) 2126 2127 def GetWaitForLaunch(self): 2128 r"""GetWaitForLaunch(SBAttachInfo self) -> bool""" 2129 return _lldb.SBAttachInfo_GetWaitForLaunch(self) 2130 2131 def SetWaitForLaunch(self, *args): 2132 r""" 2133 SetWaitForLaunch(SBAttachInfo self, bool b) 2134 SetWaitForLaunch(SBAttachInfo self, bool b, bool _async) 2135 """ 2136 return _lldb.SBAttachInfo_SetWaitForLaunch(self, *args) 2137 2138 def GetIgnoreExisting(self): 2139 r"""GetIgnoreExisting(SBAttachInfo self) -> bool""" 2140 return _lldb.SBAttachInfo_GetIgnoreExisting(self) 2141 2142 def SetIgnoreExisting(self, b): 2143 r"""SetIgnoreExisting(SBAttachInfo self, bool b)""" 2144 return _lldb.SBAttachInfo_SetIgnoreExisting(self, b) 2145 2146 def GetResumeCount(self): 2147 r"""GetResumeCount(SBAttachInfo self) -> uint32_t""" 2148 return _lldb.SBAttachInfo_GetResumeCount(self) 2149 2150 def SetResumeCount(self, c): 2151 r"""SetResumeCount(SBAttachInfo self, uint32_t c)""" 2152 return _lldb.SBAttachInfo_SetResumeCount(self, c) 2153 2154 def GetProcessPluginName(self): 2155 r"""GetProcessPluginName(SBAttachInfo self) -> char const *""" 2156 return _lldb.SBAttachInfo_GetProcessPluginName(self) 2157 2158 def SetProcessPluginName(self, plugin_name): 2159 r"""SetProcessPluginName(SBAttachInfo self, char const * plugin_name)""" 2160 return _lldb.SBAttachInfo_SetProcessPluginName(self, plugin_name) 2161 2162 def GetUserID(self): 2163 r"""GetUserID(SBAttachInfo self) -> uint32_t""" 2164 return _lldb.SBAttachInfo_GetUserID(self) 2165 2166 def GetGroupID(self): 2167 r"""GetGroupID(SBAttachInfo self) -> uint32_t""" 2168 return _lldb.SBAttachInfo_GetGroupID(self) 2169 2170 def UserIDIsValid(self): 2171 r"""UserIDIsValid(SBAttachInfo self) -> bool""" 2172 return _lldb.SBAttachInfo_UserIDIsValid(self) 2173 2174 def GroupIDIsValid(self): 2175 r"""GroupIDIsValid(SBAttachInfo self) -> bool""" 2176 return _lldb.SBAttachInfo_GroupIDIsValid(self) 2177 2178 def SetUserID(self, uid): 2179 r"""SetUserID(SBAttachInfo self, uint32_t uid)""" 2180 return _lldb.SBAttachInfo_SetUserID(self, uid) 2181 2182 def SetGroupID(self, gid): 2183 r"""SetGroupID(SBAttachInfo self, uint32_t gid)""" 2184 return _lldb.SBAttachInfo_SetGroupID(self, gid) 2185 2186 def GetEffectiveUserID(self): 2187 r"""GetEffectiveUserID(SBAttachInfo self) -> uint32_t""" 2188 return _lldb.SBAttachInfo_GetEffectiveUserID(self) 2189 2190 def GetEffectiveGroupID(self): 2191 r"""GetEffectiveGroupID(SBAttachInfo self) -> uint32_t""" 2192 return _lldb.SBAttachInfo_GetEffectiveGroupID(self) 2193 2194 def EffectiveUserIDIsValid(self): 2195 r"""EffectiveUserIDIsValid(SBAttachInfo self) -> bool""" 2196 return _lldb.SBAttachInfo_EffectiveUserIDIsValid(self) 2197 2198 def EffectiveGroupIDIsValid(self): 2199 r"""EffectiveGroupIDIsValid(SBAttachInfo self) -> bool""" 2200 return _lldb.SBAttachInfo_EffectiveGroupIDIsValid(self) 2201 2202 def SetEffectiveUserID(self, uid): 2203 r"""SetEffectiveUserID(SBAttachInfo self, uint32_t uid)""" 2204 return _lldb.SBAttachInfo_SetEffectiveUserID(self, uid) 2205 2206 def SetEffectiveGroupID(self, gid): 2207 r"""SetEffectiveGroupID(SBAttachInfo self, uint32_t gid)""" 2208 return _lldb.SBAttachInfo_SetEffectiveGroupID(self, gid) 2209 2210 def GetParentProcessID(self): 2211 r"""GetParentProcessID(SBAttachInfo self) -> lldb::pid_t""" 2212 return _lldb.SBAttachInfo_GetParentProcessID(self) 2213 2214 def SetParentProcessID(self, pid): 2215 r"""SetParentProcessID(SBAttachInfo self, lldb::pid_t pid)""" 2216 return _lldb.SBAttachInfo_SetParentProcessID(self, pid) 2217 2218 def ParentProcessIDIsValid(self): 2219 r"""ParentProcessIDIsValid(SBAttachInfo self) -> bool""" 2220 return _lldb.SBAttachInfo_ParentProcessIDIsValid(self) 2221 2222 def GetListener(self): 2223 r"""GetListener(SBAttachInfo self) -> SBListener""" 2224 return _lldb.SBAttachInfo_GetListener(self) 2225 2226 def SetListener(self, listener): 2227 r"""SetListener(SBAttachInfo self, SBListener listener)""" 2228 return _lldb.SBAttachInfo_SetListener(self, listener) 2229 2230 def GetShadowListener(self): 2231 r"""GetShadowListener(SBAttachInfo self) -> SBListener""" 2232 return _lldb.SBAttachInfo_GetShadowListener(self) 2233 2234 def SetShadowListener(self, listener): 2235 r"""SetShadowListener(SBAttachInfo self, SBListener listener)""" 2236 return _lldb.SBAttachInfo_SetShadowListener(self, listener) 2237 2238 def GetScriptedProcessClassName(self): 2239 r"""GetScriptedProcessClassName(SBAttachInfo self) -> char const *""" 2240 return _lldb.SBAttachInfo_GetScriptedProcessClassName(self) 2241 2242 def SetScriptedProcessClassName(self, class_name): 2243 r"""SetScriptedProcessClassName(SBAttachInfo self, char const * class_name)""" 2244 return _lldb.SBAttachInfo_SetScriptedProcessClassName(self, class_name) 2245 2246 def GetScriptedProcessDictionary(self): 2247 r"""GetScriptedProcessDictionary(SBAttachInfo self) -> SBStructuredData""" 2248 return _lldb.SBAttachInfo_GetScriptedProcessDictionary(self) 2249 2250 def SetScriptedProcessDictionary(self, dict): 2251 r"""SetScriptedProcessDictionary(SBAttachInfo self, SBStructuredData dict)""" 2252 return _lldb.SBAttachInfo_SetScriptedProcessDictionary(self, dict) 2253 2254# Register SBAttachInfo in _lldb: 2255_lldb.SBAttachInfo_swigregister(SBAttachInfo) 2256class SBBlock(object): 2257 r"""Represents a lexical block. SBFunction contains SBBlock(s).""" 2258 2259 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2260 2261 def __init__(self, *args): 2262 r""" 2263 __init__(SBBlock self) -> SBBlock 2264 __init__(SBBlock self, SBBlock rhs) -> SBBlock 2265 """ 2266 _lldb.SBBlock_swiginit(self, _lldb.new_SBBlock(*args)) 2267 __swig_destroy__ = _lldb.delete_SBBlock 2268 2269 def IsInlined(self): 2270 r""" 2271 IsInlined(SBBlock self) -> bool 2272 Is this block contained within an inlined function? 2273 """ 2274 return _lldb.SBBlock_IsInlined(self) 2275 2276 def __nonzero__(self): 2277 return _lldb.SBBlock___nonzero__(self) 2278 __bool__ = __nonzero__ 2279 2280 2281 2282 def IsValid(self): 2283 r"""IsValid(SBBlock self) -> bool""" 2284 return _lldb.SBBlock_IsValid(self) 2285 2286 def GetInlinedName(self): 2287 r""" 2288 GetInlinedName(SBBlock self) -> char const * 2289 2290 Get the function name if this block represents an inlined function; 2291 otherwise, return None. 2292 """ 2293 return _lldb.SBBlock_GetInlinedName(self) 2294 2295 def GetInlinedCallSiteFile(self): 2296 r""" 2297 GetInlinedCallSiteFile(SBBlock self) -> SBFileSpec 2298 2299 Get the call site file if this block represents an inlined function; 2300 otherwise, return an invalid file spec. 2301 """ 2302 return _lldb.SBBlock_GetInlinedCallSiteFile(self) 2303 2304 def GetInlinedCallSiteLine(self): 2305 r""" 2306 GetInlinedCallSiteLine(SBBlock self) -> uint32_t 2307 2308 Get the call site line if this block represents an inlined function; 2309 otherwise, return 0. 2310 """ 2311 return _lldb.SBBlock_GetInlinedCallSiteLine(self) 2312 2313 def GetInlinedCallSiteColumn(self): 2314 r""" 2315 GetInlinedCallSiteColumn(SBBlock self) -> uint32_t 2316 2317 Get the call site column if this block represents an inlined function; 2318 otherwise, return 0. 2319 """ 2320 return _lldb.SBBlock_GetInlinedCallSiteColumn(self) 2321 2322 def GetParent(self): 2323 r""" 2324 GetParent(SBBlock self) -> SBBlock 2325 Get the parent block. 2326 """ 2327 return _lldb.SBBlock_GetParent(self) 2328 2329 def GetSibling(self): 2330 r""" 2331 GetSibling(SBBlock self) -> SBBlock 2332 Get the sibling block for this block. 2333 """ 2334 return _lldb.SBBlock_GetSibling(self) 2335 2336 def GetFirstChild(self): 2337 r""" 2338 GetFirstChild(SBBlock self) -> SBBlock 2339 Get the first child block. 2340 """ 2341 return _lldb.SBBlock_GetFirstChild(self) 2342 2343 def GetNumRanges(self): 2344 r"""GetNumRanges(SBBlock self) -> uint32_t""" 2345 return _lldb.SBBlock_GetNumRanges(self) 2346 2347 def GetRangeStartAddress(self, idx): 2348 r"""GetRangeStartAddress(SBBlock self, uint32_t idx) -> SBAddress""" 2349 return _lldb.SBBlock_GetRangeStartAddress(self, idx) 2350 2351 def GetRangeEndAddress(self, idx): 2352 r"""GetRangeEndAddress(SBBlock self, uint32_t idx) -> SBAddress""" 2353 return _lldb.SBBlock_GetRangeEndAddress(self, idx) 2354 2355 def GetRanges(self): 2356 r"""GetRanges(SBBlock self) -> SBAddressRangeList""" 2357 return _lldb.SBBlock_GetRanges(self) 2358 2359 def GetRangeIndexForBlockAddress(self, block_addr): 2360 r"""GetRangeIndexForBlockAddress(SBBlock self, SBAddress block_addr) -> uint32_t""" 2361 return _lldb.SBBlock_GetRangeIndexForBlockAddress(self, block_addr) 2362 2363 def GetVariables(self, *args): 2364 r""" 2365 GetVariables(SBBlock self, SBFrame frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic) -> SBValueList 2366 GetVariables(SBBlock self, SBTarget target, bool arguments, bool locals, bool statics) -> SBValueList 2367 """ 2368 return _lldb.SBBlock_GetVariables(self, *args) 2369 2370 def GetContainingInlinedBlock(self): 2371 r""" 2372 GetContainingInlinedBlock(SBBlock self) -> SBBlock 2373 Get the inlined block that is or contains this block. 2374 """ 2375 return _lldb.SBBlock_GetContainingInlinedBlock(self) 2376 2377 def GetDescription(self, description): 2378 r"""GetDescription(SBBlock self, SBStream description) -> bool""" 2379 return _lldb.SBBlock_GetDescription(self, description) 2380 2381 def __repr__(self): 2382 r"""__repr__(SBBlock self) -> std::string""" 2383 return _lldb.SBBlock___repr__(self) 2384 2385 def get_range_at_index(self, idx): 2386 if idx < self.GetNumRanges(): 2387 return [self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)] 2388 return [] 2389 2390 class ranges_access(object): 2391 '''A helper object that will lazily hand out an array of lldb.SBAddress that represent address ranges for a block.''' 2392 def __init__(self, sbblock): 2393 self.sbblock = sbblock 2394 2395 def __len__(self): 2396 if self.sbblock: 2397 return int(self.sbblock.GetNumRanges()) 2398 return 0 2399 2400 def __getitem__(self, key): 2401 count = len(self) 2402 if type(key) is int: 2403 return self.sbblock.get_range_at_index (key); 2404 if isinstance(key, SBAddress): 2405 range_idx = self.sbblock.GetRangeIndexForBlockAddress(key); 2406 if range_idx < len(self): 2407 return [self.sbblock.GetRangeStartAddress(range_idx), self.sbblock.GetRangeEndAddress(range_idx)] 2408 else: 2409 print("error: unsupported item type: %s" % type(key)) 2410 return None 2411 2412 def get_ranges_access_object(self): 2413 '''An accessor function that returns a ranges_access() object which allows lazy block address ranges access.''' 2414 return self.ranges_access (self) 2415 2416 def get_ranges_array(self): 2417 '''An accessor function that returns an array object that contains all ranges in this block object.''' 2418 if not hasattr(self, 'ranges_array'): 2419 self.ranges_array = [] 2420 for idx in range(self.num_ranges): 2421 self.ranges_array.append ([self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)]) 2422 return self.ranges_array 2423 2424 def get_call_site(self): 2425 return declaration(self.GetInlinedCallSiteFile(), self.GetInlinedCallSiteLine(), self.GetInlinedCallSiteColumn()) 2426 2427 parent = property(GetParent, None, doc='''A read only property that returns the same result as GetParent().''') 2428 first_child = property(GetFirstChild, None, doc='''A read only property that returns the same result as GetFirstChild().''') 2429 call_site = property(get_call_site, None, doc='''A read only property that returns a lldb.declaration object that contains the inlined call site file, line and column.''') 2430 sibling = property(GetSibling, None, doc='''A read only property that returns the same result as GetSibling().''') 2431 name = property(GetInlinedName, None, doc='''A read only property that returns the same result as GetInlinedName().''') 2432 inlined_block = property(GetContainingInlinedBlock, None, doc='''A read only property that returns the same result as GetContainingInlinedBlock().''') 2433 range = property(get_ranges_access_object, None, doc='''A read only property that allows item access to the address ranges for a block by integer (range = block.range[0]) and by lldb.SBAddress (find the range that contains the specified lldb.SBAddress like "pc_range = lldb.frame.block.range[frame.addr]").''') 2434 ranges = property(get_ranges_array, None, doc='''A read only property that returns a list() object that contains all of the address ranges for the block.''') 2435 num_ranges = property(GetNumRanges, None, doc='''A read only property that returns the same result as GetNumRanges().''') 2436 2437 2438# Register SBBlock in _lldb: 2439_lldb.SBBlock_swigregister(SBBlock) 2440class SBBreakpoint(object): 2441 r""" 2442 Represents a logical breakpoint and its associated settings. 2443 2444 For example (from test/functionalities/breakpoint/breakpoint_ignore_count/ 2445 TestBreakpointIgnoreCount.py),:: 2446 2447 def breakpoint_ignore_count_python(self): 2448 '''Use Python APIs to set breakpoint ignore count.''' 2449 exe = os.path.join(os.getcwd(), 'a.out') 2450 2451 # Create a target by the debugger. 2452 target = self.dbg.CreateTarget(exe) 2453 self.assertTrue(target, VALID_TARGET) 2454 2455 # Now create a breakpoint on main.c by name 'c'. 2456 breakpoint = target.BreakpointCreateByName('c', 'a.out') 2457 self.assertTrue(breakpoint and 2458 breakpoint.GetNumLocations() == 1, 2459 VALID_BREAKPOINT) 2460 2461 # Get the breakpoint location from breakpoint after we verified that, 2462 # indeed, it has one location. 2463 location = breakpoint.GetLocationAtIndex(0) 2464 self.assertTrue(location and 2465 location.IsEnabled(), 2466 VALID_BREAKPOINT_LOCATION) 2467 2468 # Set the ignore count on the breakpoint location. 2469 location.SetIgnoreCount(2) 2470 self.assertTrue(location.GetIgnoreCount() == 2, 2471 'SetIgnoreCount() works correctly') 2472 2473 # Now launch the process, and do not stop at entry point. 2474 process = target.LaunchSimple(None, None, os.getcwd()) 2475 self.assertTrue(process, PROCESS_IS_VALID) 2476 2477 # Frame#0 should be on main.c:37, frame#1 should be on main.c:25, and 2478 # frame#2 should be on main.c:48. 2479 #lldbutil.print_stacktraces(process) 2480 from lldbutil import get_stopped_thread 2481 thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint) 2482 self.assertTrue(thread is not None, 'There should be a thread stopped due to breakpoint') 2483 frame0 = thread.GetFrameAtIndex(0) 2484 frame1 = thread.GetFrameAtIndex(1) 2485 frame2 = thread.GetFrameAtIndex(2) 2486 self.assertTrue(frame0.GetLineEntry().GetLine() == self.line1 and 2487 frame1.GetLineEntry().GetLine() == self.line3 and 2488 frame2.GetLineEntry().GetLine() == self.line4, 2489 STOPPED_DUE_TO_BREAKPOINT_IGNORE_COUNT) 2490 2491 # The hit count for the breakpoint should be 3. 2492 self.assertTrue(breakpoint.GetHitCount() == 3) 2493 2494 process.Continue() 2495 2496 SBBreakpoint supports breakpoint location iteration, for example,:: 2497 2498 for bl in breakpoint: 2499 print('breakpoint location load addr: %s' % hex(bl.GetLoadAddress())) 2500 print('breakpoint location condition: %s' % hex(bl.GetCondition())) 2501 2502 and rich comparison methods which allow the API program to use,:: 2503 2504 if aBreakpoint == bBreakpoint: 2505 ... 2506 2507 to compare two breakpoints for equality. 2508 """ 2509 2510 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2511 2512 def __init__(self, *args): 2513 r""" 2514 __init__(SBBreakpoint self) -> SBBreakpoint 2515 __init__(SBBreakpoint self, SBBreakpoint rhs) -> SBBreakpoint 2516 """ 2517 _lldb.SBBreakpoint_swiginit(self, _lldb.new_SBBreakpoint(*args)) 2518 __swig_destroy__ = _lldb.delete_SBBreakpoint 2519 2520 def __eq__(self, rhs): 2521 r"""__eq__(SBBreakpoint self, SBBreakpoint rhs) -> bool""" 2522 return _lldb.SBBreakpoint___eq__(self, rhs) 2523 2524 def __ne__(self, rhs): 2525 r"""__ne__(SBBreakpoint self, SBBreakpoint rhs) -> bool""" 2526 return _lldb.SBBreakpoint___ne__(self, rhs) 2527 2528 def GetID(self): 2529 r"""GetID(SBBreakpoint self) -> lldb::break_id_t""" 2530 return _lldb.SBBreakpoint_GetID(self) 2531 2532 def __nonzero__(self): 2533 return _lldb.SBBreakpoint___nonzero__(self) 2534 __bool__ = __nonzero__ 2535 2536 2537 2538 def IsValid(self): 2539 r"""IsValid(SBBreakpoint self) -> bool""" 2540 return _lldb.SBBreakpoint_IsValid(self) 2541 2542 def ClearAllBreakpointSites(self): 2543 r"""ClearAllBreakpointSites(SBBreakpoint self)""" 2544 return _lldb.SBBreakpoint_ClearAllBreakpointSites(self) 2545 2546 def GetTarget(self): 2547 r"""GetTarget(SBBreakpoint self) -> SBTarget""" 2548 return _lldb.SBBreakpoint_GetTarget(self) 2549 2550 def FindLocationByAddress(self, vm_addr): 2551 r"""FindLocationByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> SBBreakpointLocation""" 2552 return _lldb.SBBreakpoint_FindLocationByAddress(self, vm_addr) 2553 2554 def FindLocationIDByAddress(self, vm_addr): 2555 r"""FindLocationIDByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> lldb::break_id_t""" 2556 return _lldb.SBBreakpoint_FindLocationIDByAddress(self, vm_addr) 2557 2558 def FindLocationByID(self, bp_loc_id): 2559 r"""FindLocationByID(SBBreakpoint self, lldb::break_id_t bp_loc_id) -> SBBreakpointLocation""" 2560 return _lldb.SBBreakpoint_FindLocationByID(self, bp_loc_id) 2561 2562 def GetLocationAtIndex(self, index): 2563 r"""GetLocationAtIndex(SBBreakpoint self, uint32_t index) -> SBBreakpointLocation""" 2564 return _lldb.SBBreakpoint_GetLocationAtIndex(self, index) 2565 2566 def SetEnabled(self, enable): 2567 r"""SetEnabled(SBBreakpoint self, bool enable)""" 2568 return _lldb.SBBreakpoint_SetEnabled(self, enable) 2569 2570 def IsEnabled(self): 2571 r"""IsEnabled(SBBreakpoint self) -> bool""" 2572 return _lldb.SBBreakpoint_IsEnabled(self) 2573 2574 def SetOneShot(self, one_shot): 2575 r"""SetOneShot(SBBreakpoint self, bool one_shot)""" 2576 return _lldb.SBBreakpoint_SetOneShot(self, one_shot) 2577 2578 def IsOneShot(self): 2579 r"""IsOneShot(SBBreakpoint self) -> bool""" 2580 return _lldb.SBBreakpoint_IsOneShot(self) 2581 2582 def IsInternal(self): 2583 r"""IsInternal(SBBreakpoint self) -> bool""" 2584 return _lldb.SBBreakpoint_IsInternal(self) 2585 2586 def GetHitCount(self): 2587 r"""GetHitCount(SBBreakpoint self) -> uint32_t""" 2588 return _lldb.SBBreakpoint_GetHitCount(self) 2589 2590 def SetIgnoreCount(self, count): 2591 r"""SetIgnoreCount(SBBreakpoint self, uint32_t count)""" 2592 return _lldb.SBBreakpoint_SetIgnoreCount(self, count) 2593 2594 def GetIgnoreCount(self): 2595 r"""GetIgnoreCount(SBBreakpoint self) -> uint32_t""" 2596 return _lldb.SBBreakpoint_GetIgnoreCount(self) 2597 2598 def SetCondition(self, condition): 2599 r""" 2600 SetCondition(SBBreakpoint self, char const * condition) 2601 2602 The breakpoint stops only if the condition expression evaluates to true. 2603 """ 2604 return _lldb.SBBreakpoint_SetCondition(self, condition) 2605 2606 def GetCondition(self): 2607 r""" 2608 GetCondition(SBBreakpoint self) -> char const * 2609 2610 Get the condition expression for the breakpoint. 2611 """ 2612 return _lldb.SBBreakpoint_GetCondition(self) 2613 2614 def SetAutoContinue(self, auto_continue): 2615 r"""SetAutoContinue(SBBreakpoint self, bool auto_continue)""" 2616 return _lldb.SBBreakpoint_SetAutoContinue(self, auto_continue) 2617 2618 def GetAutoContinue(self): 2619 r"""GetAutoContinue(SBBreakpoint self) -> bool""" 2620 return _lldb.SBBreakpoint_GetAutoContinue(self) 2621 2622 def SetThreadID(self, sb_thread_id): 2623 r"""SetThreadID(SBBreakpoint self, lldb::tid_t sb_thread_id)""" 2624 return _lldb.SBBreakpoint_SetThreadID(self, sb_thread_id) 2625 2626 def GetThreadID(self): 2627 r"""GetThreadID(SBBreakpoint self) -> lldb::tid_t""" 2628 return _lldb.SBBreakpoint_GetThreadID(self) 2629 2630 def SetThreadIndex(self, index): 2631 r"""SetThreadIndex(SBBreakpoint self, uint32_t index)""" 2632 return _lldb.SBBreakpoint_SetThreadIndex(self, index) 2633 2634 def GetThreadIndex(self): 2635 r"""GetThreadIndex(SBBreakpoint self) -> uint32_t""" 2636 return _lldb.SBBreakpoint_GetThreadIndex(self) 2637 2638 def SetThreadName(self, thread_name): 2639 r"""SetThreadName(SBBreakpoint self, char const * thread_name)""" 2640 return _lldb.SBBreakpoint_SetThreadName(self, thread_name) 2641 2642 def GetThreadName(self): 2643 r"""GetThreadName(SBBreakpoint self) -> char const *""" 2644 return _lldb.SBBreakpoint_GetThreadName(self) 2645 2646 def SetQueueName(self, queue_name): 2647 r"""SetQueueName(SBBreakpoint self, char const * queue_name)""" 2648 return _lldb.SBBreakpoint_SetQueueName(self, queue_name) 2649 2650 def GetQueueName(self): 2651 r"""GetQueueName(SBBreakpoint self) -> char const *""" 2652 return _lldb.SBBreakpoint_GetQueueName(self) 2653 2654 def SetScriptCallbackFunction(self, *args): 2655 r""" 2656 SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name) 2657 SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 2658 2659 Set the name of the script function to be called when the breakpoint is hit. 2660 To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and 2661 when the breakpoint is hit the extra_args will be passed to the callback function. 2662 """ 2663 return _lldb.SBBreakpoint_SetScriptCallbackFunction(self, *args) 2664 2665 def SetCommandLineCommands(self, commands): 2666 r"""SetCommandLineCommands(SBBreakpoint self, SBStringList commands)""" 2667 return _lldb.SBBreakpoint_SetCommandLineCommands(self, commands) 2668 2669 def GetCommandLineCommands(self, commands): 2670 r"""GetCommandLineCommands(SBBreakpoint self, SBStringList commands) -> bool""" 2671 return _lldb.SBBreakpoint_GetCommandLineCommands(self, commands) 2672 2673 def SetScriptCallbackBody(self, script_body_text): 2674 r""" 2675 SetScriptCallbackBody(SBBreakpoint self, char const * script_body_text) -> SBError 2676 2677 Provide the body for the script function to be called when the breakpoint is hit. 2678 The body will be wrapped in a function, which be passed two arguments: 2679 'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint 2680 'bpno' - which is the SBBreakpointLocation to which the callback was attached. 2681 2682 The error parameter is currently ignored, but will at some point hold the Python 2683 compilation diagnostics. 2684 Returns true if the body compiles successfully, false if not. 2685 """ 2686 return _lldb.SBBreakpoint_SetScriptCallbackBody(self, script_body_text) 2687 2688 def AddName(self, new_name): 2689 r"""AddName(SBBreakpoint self, char const * new_name) -> bool""" 2690 return _lldb.SBBreakpoint_AddName(self, new_name) 2691 2692 def AddNameWithErrorHandling(self, new_name): 2693 r"""AddNameWithErrorHandling(SBBreakpoint self, char const * new_name) -> SBError""" 2694 return _lldb.SBBreakpoint_AddNameWithErrorHandling(self, new_name) 2695 2696 def RemoveName(self, name_to_remove): 2697 r"""RemoveName(SBBreakpoint self, char const * name_to_remove)""" 2698 return _lldb.SBBreakpoint_RemoveName(self, name_to_remove) 2699 2700 def MatchesName(self, name): 2701 r"""MatchesName(SBBreakpoint self, char const * name) -> bool""" 2702 return _lldb.SBBreakpoint_MatchesName(self, name) 2703 2704 def GetNames(self, names): 2705 r"""GetNames(SBBreakpoint self, SBStringList names)""" 2706 return _lldb.SBBreakpoint_GetNames(self, names) 2707 2708 def GetNumResolvedLocations(self): 2709 r"""GetNumResolvedLocations(SBBreakpoint self) -> size_t""" 2710 return _lldb.SBBreakpoint_GetNumResolvedLocations(self) 2711 2712 def GetNumLocations(self): 2713 r"""GetNumLocations(SBBreakpoint self) -> size_t""" 2714 return _lldb.SBBreakpoint_GetNumLocations(self) 2715 2716 def GetDescription(self, *args): 2717 r""" 2718 GetDescription(SBBreakpoint self, SBStream description) -> bool 2719 GetDescription(SBBreakpoint self, SBStream description, bool include_locations) -> bool 2720 """ 2721 return _lldb.SBBreakpoint_GetDescription(self, *args) 2722 2723 @staticmethod 2724 def EventIsBreakpointEvent(event): 2725 r"""EventIsBreakpointEvent(SBEvent event) -> bool""" 2726 return _lldb.SBBreakpoint_EventIsBreakpointEvent(event) 2727 2728 @staticmethod 2729 def GetBreakpointEventTypeFromEvent(event): 2730 r"""GetBreakpointEventTypeFromEvent(SBEvent event) -> lldb::BreakpointEventType""" 2731 return _lldb.SBBreakpoint_GetBreakpointEventTypeFromEvent(event) 2732 2733 @staticmethod 2734 def GetBreakpointFromEvent(event): 2735 r"""GetBreakpointFromEvent(SBEvent event) -> SBBreakpoint""" 2736 return _lldb.SBBreakpoint_GetBreakpointFromEvent(event) 2737 2738 @staticmethod 2739 def GetBreakpointLocationAtIndexFromEvent(event, loc_idx): 2740 r"""GetBreakpointLocationAtIndexFromEvent(SBEvent event, uint32_t loc_idx) -> SBBreakpointLocation""" 2741 return _lldb.SBBreakpoint_GetBreakpointLocationAtIndexFromEvent(event, loc_idx) 2742 2743 @staticmethod 2744 def GetNumBreakpointLocationsFromEvent(event_sp): 2745 r"""GetNumBreakpointLocationsFromEvent(SBEvent event_sp) -> uint32_t""" 2746 return _lldb.SBBreakpoint_GetNumBreakpointLocationsFromEvent(event_sp) 2747 2748 def IsHardware(self): 2749 r"""IsHardware(SBBreakpoint self) -> bool""" 2750 return _lldb.SBBreakpoint_IsHardware(self) 2751 2752 def AddLocation(self, address): 2753 r"""AddLocation(SBBreakpoint self, SBAddress address) -> SBError""" 2754 return _lldb.SBBreakpoint_AddLocation(self, address) 2755 2756 def SerializeToStructuredData(self): 2757 r"""SerializeToStructuredData(SBBreakpoint self) -> SBStructuredData""" 2758 return _lldb.SBBreakpoint_SerializeToStructuredData(self) 2759 2760 def __repr__(self): 2761 r"""__repr__(SBBreakpoint self) -> std::string""" 2762 return _lldb.SBBreakpoint___repr__(self) 2763 2764 2765 class locations_access(object): 2766 '''A helper object that will lazily hand out locations for a breakpoint when supplied an index.''' 2767 def __init__(self, sbbreakpoint): 2768 self.sbbreakpoint = sbbreakpoint 2769 2770 def __len__(self): 2771 if self.sbbreakpoint: 2772 return int(self.sbbreakpoint.GetNumLocations()) 2773 return 0 2774 2775 def __getitem__(self, key): 2776 if isinstance(key, int): 2777 count = len(self) 2778 if -count <= key < count: 2779 key %= count 2780 return self.sbbreakpoint.GetLocationAtIndex(key) 2781 return None 2782 2783 def get_locations_access_object(self): 2784 '''An accessor function that returns a locations_access() object which allows lazy location access from a lldb.SBBreakpoint object.''' 2785 return self.locations_access (self) 2786 2787 def get_breakpoint_location_list(self): 2788 '''An accessor function that returns a list() that contains all locations in a lldb.SBBreakpoint object.''' 2789 locations = [] 2790 accessor = self.get_locations_access_object() 2791 for idx in range(len(accessor)): 2792 locations.append(accessor[idx]) 2793 return locations 2794 2795 def __iter__(self): 2796 '''Iterate over all breakpoint locations in a lldb.SBBreakpoint 2797 object.''' 2798 return lldb_iter(self, 'GetNumLocations', 'GetLocationAtIndex') 2799 2800 def __len__(self): 2801 '''Return the number of breakpoint locations in a lldb.SBBreakpoint 2802 object.''' 2803 return self.GetNumLocations() 2804 2805 locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''') 2806 location = property(get_locations_access_object, None, doc='''A read only property that returns an object that can access locations by index (not location ID) (location = bkpt.location[12]).''') 2807 id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''') 2808 enabled = property(IsEnabled, SetEnabled, doc='''A read/write property that configures whether this breakpoint is enabled or not.''') 2809 one_shot = property(IsOneShot, SetOneShot, doc='''A read/write property that configures whether this breakpoint is one-shot (deleted when hit) or not.''') 2810 num_locations = property(GetNumLocations, None, doc='''A read only property that returns the count of locations of this breakpoint.''') 2811 2812 2813 def __eq__(self, rhs): 2814 if not isinstance(rhs, type(self)): 2815 return False 2816 2817 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 2818 2819 def __ne__(self, rhs): 2820 if not isinstance(rhs, type(self)): 2821 return True 2822 2823 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 2824 2825 2826# Register SBBreakpoint in _lldb: 2827_lldb.SBBreakpoint_swigregister(SBBreakpoint) 2828class SBBreakpointList(object): 2829 r"""Represents a list of :py:class:`SBBreakpoint`.""" 2830 2831 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2832 __repr__ = _swig_repr 2833 2834 def __init__(self, target): 2835 r"""__init__(SBBreakpointList self, SBTarget target) -> SBBreakpointList""" 2836 _lldb.SBBreakpointList_swiginit(self, _lldb.new_SBBreakpointList(target)) 2837 __swig_destroy__ = _lldb.delete_SBBreakpointList 2838 2839 def GetSize(self): 2840 r"""GetSize(SBBreakpointList self) -> size_t""" 2841 return _lldb.SBBreakpointList_GetSize(self) 2842 2843 def GetBreakpointAtIndex(self, idx): 2844 r"""GetBreakpointAtIndex(SBBreakpointList self, size_t idx) -> SBBreakpoint""" 2845 return _lldb.SBBreakpointList_GetBreakpointAtIndex(self, idx) 2846 2847 def FindBreakpointByID(self, arg2): 2848 r"""FindBreakpointByID(SBBreakpointList self, lldb::break_id_t arg2) -> SBBreakpoint""" 2849 return _lldb.SBBreakpointList_FindBreakpointByID(self, arg2) 2850 2851 def Append(self, sb_bkpt): 2852 r"""Append(SBBreakpointList self, SBBreakpoint sb_bkpt)""" 2853 return _lldb.SBBreakpointList_Append(self, sb_bkpt) 2854 2855 def AppendIfUnique(self, sb_bkpt): 2856 r"""AppendIfUnique(SBBreakpointList self, SBBreakpoint sb_bkpt) -> bool""" 2857 return _lldb.SBBreakpointList_AppendIfUnique(self, sb_bkpt) 2858 2859 def AppendByID(self, id): 2860 r"""AppendByID(SBBreakpointList self, lldb::break_id_t id)""" 2861 return _lldb.SBBreakpointList_AppendByID(self, id) 2862 2863 def Clear(self): 2864 r"""Clear(SBBreakpointList self)""" 2865 return _lldb.SBBreakpointList_Clear(self) 2866 2867 def __len__(self): 2868 '''Return the number of breakpoints in a lldb.SBBreakpointList object.''' 2869 return self.GetSize() 2870 2871 def __iter__(self): 2872 '''Iterate over all breakpoints in a lldb.SBBreakpointList object.''' 2873 return lldb_iter(self, 'GetSize', 'GetBreakpointAtIndex') 2874 2875 2876# Register SBBreakpointList in _lldb: 2877_lldb.SBBreakpointList_swigregister(SBBreakpointList) 2878class SBBreakpointLocation(object): 2879 r""" 2880 Represents one unique instance (by address) of a logical breakpoint. 2881 2882 A breakpoint location is defined by the breakpoint that produces it, 2883 and the address that resulted in this particular instantiation. 2884 Each breakpoint location has its settable options. 2885 2886 :py:class:`SBBreakpoint` contains SBBreakpointLocation(s). See docstring of SBBreakpoint 2887 for retrieval of an SBBreakpointLocation from an SBBreakpoint. 2888 """ 2889 2890 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2891 2892 def __init__(self, *args): 2893 r""" 2894 __init__(SBBreakpointLocation self) -> SBBreakpointLocation 2895 __init__(SBBreakpointLocation self, SBBreakpointLocation rhs) -> SBBreakpointLocation 2896 """ 2897 _lldb.SBBreakpointLocation_swiginit(self, _lldb.new_SBBreakpointLocation(*args)) 2898 __swig_destroy__ = _lldb.delete_SBBreakpointLocation 2899 2900 def GetID(self): 2901 r"""GetID(SBBreakpointLocation self) -> lldb::break_id_t""" 2902 return _lldb.SBBreakpointLocation_GetID(self) 2903 2904 def __nonzero__(self): 2905 return _lldb.SBBreakpointLocation___nonzero__(self) 2906 __bool__ = __nonzero__ 2907 2908 2909 2910 def IsValid(self): 2911 r"""IsValid(SBBreakpointLocation self) -> bool""" 2912 return _lldb.SBBreakpointLocation_IsValid(self) 2913 2914 def GetAddress(self): 2915 r"""GetAddress(SBBreakpointLocation self) -> SBAddress""" 2916 return _lldb.SBBreakpointLocation_GetAddress(self) 2917 2918 def GetLoadAddress(self): 2919 r"""GetLoadAddress(SBBreakpointLocation self) -> lldb::addr_t""" 2920 return _lldb.SBBreakpointLocation_GetLoadAddress(self) 2921 2922 def SetEnabled(self, enabled): 2923 r"""SetEnabled(SBBreakpointLocation self, bool enabled)""" 2924 return _lldb.SBBreakpointLocation_SetEnabled(self, enabled) 2925 2926 def IsEnabled(self): 2927 r"""IsEnabled(SBBreakpointLocation self) -> bool""" 2928 return _lldb.SBBreakpointLocation_IsEnabled(self) 2929 2930 def GetHitCount(self): 2931 r"""GetHitCount(SBBreakpointLocation self) -> uint32_t""" 2932 return _lldb.SBBreakpointLocation_GetHitCount(self) 2933 2934 def GetIgnoreCount(self): 2935 r"""GetIgnoreCount(SBBreakpointLocation self) -> uint32_t""" 2936 return _lldb.SBBreakpointLocation_GetIgnoreCount(self) 2937 2938 def SetIgnoreCount(self, n): 2939 r"""SetIgnoreCount(SBBreakpointLocation self, uint32_t n)""" 2940 return _lldb.SBBreakpointLocation_SetIgnoreCount(self, n) 2941 2942 def SetCondition(self, condition): 2943 r""" 2944 SetCondition(SBBreakpointLocation self, char const * condition) 2945 2946 The breakpoint location stops only if the condition expression evaluates 2947 to true. 2948 """ 2949 return _lldb.SBBreakpointLocation_SetCondition(self, condition) 2950 2951 def GetCondition(self): 2952 r""" 2953 GetCondition(SBBreakpointLocation self) -> char const * 2954 2955 Get the condition expression for the breakpoint location. 2956 """ 2957 return _lldb.SBBreakpointLocation_GetCondition(self) 2958 2959 def SetAutoContinue(self, auto_continue): 2960 r"""SetAutoContinue(SBBreakpointLocation self, bool auto_continue)""" 2961 return _lldb.SBBreakpointLocation_SetAutoContinue(self, auto_continue) 2962 2963 def GetAutoContinue(self): 2964 r"""GetAutoContinue(SBBreakpointLocation self) -> bool""" 2965 return _lldb.SBBreakpointLocation_GetAutoContinue(self) 2966 2967 def SetScriptCallbackFunction(self, *args): 2968 r""" 2969 SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name) 2970 SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 2971 2972 Set the name of the script function to be called when the breakpoint is hit. 2973 To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and 2974 when the breakpoint is hit the extra_args will be passed to the callback function. 2975 """ 2976 return _lldb.SBBreakpointLocation_SetScriptCallbackFunction(self, *args) 2977 2978 def SetScriptCallbackBody(self, script_body_text): 2979 r""" 2980 SetScriptCallbackBody(SBBreakpointLocation self, char const * script_body_text) -> SBError 2981 2982 Provide the body for the script function to be called when the breakpoint location is hit. 2983 The body will be wrapped in a function, which be passed two arguments: 2984 'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint 2985 'bpno' - which is the SBBreakpointLocation to which the callback was attached. 2986 2987 The error parameter is currently ignored, but will at some point hold the Python 2988 compilation diagnostics. 2989 Returns true if the body compiles successfully, false if not. 2990 """ 2991 return _lldb.SBBreakpointLocation_SetScriptCallbackBody(self, script_body_text) 2992 2993 def SetCommandLineCommands(self, commands): 2994 r"""SetCommandLineCommands(SBBreakpointLocation self, SBStringList commands)""" 2995 return _lldb.SBBreakpointLocation_SetCommandLineCommands(self, commands) 2996 2997 def GetCommandLineCommands(self, commands): 2998 r"""GetCommandLineCommands(SBBreakpointLocation self, SBStringList commands) -> bool""" 2999 return _lldb.SBBreakpointLocation_GetCommandLineCommands(self, commands) 3000 3001 def SetThreadID(self, sb_thread_id): 3002 r"""SetThreadID(SBBreakpointLocation self, lldb::tid_t sb_thread_id)""" 3003 return _lldb.SBBreakpointLocation_SetThreadID(self, sb_thread_id) 3004 3005 def GetThreadID(self): 3006 r"""GetThreadID(SBBreakpointLocation self) -> lldb::tid_t""" 3007 return _lldb.SBBreakpointLocation_GetThreadID(self) 3008 3009 def SetThreadIndex(self, index): 3010 r"""SetThreadIndex(SBBreakpointLocation self, uint32_t index)""" 3011 return _lldb.SBBreakpointLocation_SetThreadIndex(self, index) 3012 3013 def GetThreadIndex(self): 3014 r"""GetThreadIndex(SBBreakpointLocation self) -> uint32_t""" 3015 return _lldb.SBBreakpointLocation_GetThreadIndex(self) 3016 3017 def SetThreadName(self, thread_name): 3018 r"""SetThreadName(SBBreakpointLocation self, char const * thread_name)""" 3019 return _lldb.SBBreakpointLocation_SetThreadName(self, thread_name) 3020 3021 def GetThreadName(self): 3022 r"""GetThreadName(SBBreakpointLocation self) -> char const *""" 3023 return _lldb.SBBreakpointLocation_GetThreadName(self) 3024 3025 def SetQueueName(self, queue_name): 3026 r"""SetQueueName(SBBreakpointLocation self, char const * queue_name)""" 3027 return _lldb.SBBreakpointLocation_SetQueueName(self, queue_name) 3028 3029 def GetQueueName(self): 3030 r"""GetQueueName(SBBreakpointLocation self) -> char const *""" 3031 return _lldb.SBBreakpointLocation_GetQueueName(self) 3032 3033 def IsResolved(self): 3034 r"""IsResolved(SBBreakpointLocation self) -> bool""" 3035 return _lldb.SBBreakpointLocation_IsResolved(self) 3036 3037 def GetDescription(self, description, level): 3038 r"""GetDescription(SBBreakpointLocation self, SBStream description, lldb::DescriptionLevel level) -> bool""" 3039 return _lldb.SBBreakpointLocation_GetDescription(self, description, level) 3040 3041 def GetBreakpoint(self): 3042 r"""GetBreakpoint(SBBreakpointLocation self) -> SBBreakpoint""" 3043 return _lldb.SBBreakpointLocation_GetBreakpoint(self) 3044 3045 def __repr__(self): 3046 r"""__repr__(SBBreakpointLocation self) -> std::string""" 3047 return _lldb.SBBreakpointLocation___repr__(self) 3048 3049 # operator== is a free function, which swig does not handle, so we inject 3050 # our own equality operator here 3051 def __eq__(self, other): 3052 return not self.__ne__(other) 3053 3054 3055# Register SBBreakpointLocation in _lldb: 3056_lldb.SBBreakpointLocation_swigregister(SBBreakpointLocation) 3057class SBBreakpointName(object): 3058 r""" 3059 Represents a breakpoint name registered in a given :py:class:`SBTarget`. 3060 3061 Breakpoint names provide a way to act on groups of breakpoints. When you add a 3062 name to a group of breakpoints, you can then use the name in all the command 3063 line lldb commands for that name. You can also configure the SBBreakpointName 3064 options and those options will be propagated to any :py:class:`SBBreakpoint` s currently 3065 using that name. Adding a name to a breakpoint will also apply any of the 3066 set options to that breakpoint. 3067 3068 You can also set permissions on a breakpoint name to disable listing, deleting 3069 and disabling breakpoints. That will disallow the given operation for breakpoints 3070 except when the breakpoint is mentioned by ID. So for instance deleting all the 3071 breakpoints won't delete breakpoints so marked. 3072 """ 3073 3074 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3075 3076 def __init__(self, *args): 3077 r""" 3078 __init__(SBBreakpointName self) -> SBBreakpointName 3079 __init__(SBBreakpointName self, SBTarget target, char const * name) -> SBBreakpointName 3080 __init__(SBBreakpointName self, SBBreakpoint bkpt, char const * name) -> SBBreakpointName 3081 __init__(SBBreakpointName self, SBBreakpointName rhs) -> SBBreakpointName 3082 """ 3083 _lldb.SBBreakpointName_swiginit(self, _lldb.new_SBBreakpointName(*args)) 3084 __swig_destroy__ = _lldb.delete_SBBreakpointName 3085 3086 def __eq__(self, rhs): 3087 r"""__eq__(SBBreakpointName self, SBBreakpointName rhs) -> bool""" 3088 return _lldb.SBBreakpointName___eq__(self, rhs) 3089 3090 def __ne__(self, rhs): 3091 r"""__ne__(SBBreakpointName self, SBBreakpointName rhs) -> bool""" 3092 return _lldb.SBBreakpointName___ne__(self, rhs) 3093 3094 def __nonzero__(self): 3095 return _lldb.SBBreakpointName___nonzero__(self) 3096 __bool__ = __nonzero__ 3097 3098 3099 3100 def IsValid(self): 3101 r"""IsValid(SBBreakpointName self) -> bool""" 3102 return _lldb.SBBreakpointName_IsValid(self) 3103 3104 def GetName(self): 3105 r"""GetName(SBBreakpointName self) -> char const *""" 3106 return _lldb.SBBreakpointName_GetName(self) 3107 3108 def SetEnabled(self, enable): 3109 r"""SetEnabled(SBBreakpointName self, bool enable)""" 3110 return _lldb.SBBreakpointName_SetEnabled(self, enable) 3111 3112 def IsEnabled(self): 3113 r"""IsEnabled(SBBreakpointName self) -> bool""" 3114 return _lldb.SBBreakpointName_IsEnabled(self) 3115 3116 def SetOneShot(self, one_shot): 3117 r"""SetOneShot(SBBreakpointName self, bool one_shot)""" 3118 return _lldb.SBBreakpointName_SetOneShot(self, one_shot) 3119 3120 def IsOneShot(self): 3121 r"""IsOneShot(SBBreakpointName self) -> bool""" 3122 return _lldb.SBBreakpointName_IsOneShot(self) 3123 3124 def SetIgnoreCount(self, count): 3125 r"""SetIgnoreCount(SBBreakpointName self, uint32_t count)""" 3126 return _lldb.SBBreakpointName_SetIgnoreCount(self, count) 3127 3128 def GetIgnoreCount(self): 3129 r"""GetIgnoreCount(SBBreakpointName self) -> uint32_t""" 3130 return _lldb.SBBreakpointName_GetIgnoreCount(self) 3131 3132 def SetCondition(self, condition): 3133 r"""SetCondition(SBBreakpointName self, char const * condition)""" 3134 return _lldb.SBBreakpointName_SetCondition(self, condition) 3135 3136 def GetCondition(self): 3137 r"""GetCondition(SBBreakpointName self) -> char const *""" 3138 return _lldb.SBBreakpointName_GetCondition(self) 3139 3140 def SetAutoContinue(self, auto_continue): 3141 r"""SetAutoContinue(SBBreakpointName self, bool auto_continue)""" 3142 return _lldb.SBBreakpointName_SetAutoContinue(self, auto_continue) 3143 3144 def GetAutoContinue(self): 3145 r"""GetAutoContinue(SBBreakpointName self) -> bool""" 3146 return _lldb.SBBreakpointName_GetAutoContinue(self) 3147 3148 def SetThreadID(self, sb_thread_id): 3149 r"""SetThreadID(SBBreakpointName self, lldb::tid_t sb_thread_id)""" 3150 return _lldb.SBBreakpointName_SetThreadID(self, sb_thread_id) 3151 3152 def GetThreadID(self): 3153 r"""GetThreadID(SBBreakpointName self) -> lldb::tid_t""" 3154 return _lldb.SBBreakpointName_GetThreadID(self) 3155 3156 def SetThreadIndex(self, index): 3157 r"""SetThreadIndex(SBBreakpointName self, uint32_t index)""" 3158 return _lldb.SBBreakpointName_SetThreadIndex(self, index) 3159 3160 def GetThreadIndex(self): 3161 r"""GetThreadIndex(SBBreakpointName self) -> uint32_t""" 3162 return _lldb.SBBreakpointName_GetThreadIndex(self) 3163 3164 def SetThreadName(self, thread_name): 3165 r"""SetThreadName(SBBreakpointName self, char const * thread_name)""" 3166 return _lldb.SBBreakpointName_SetThreadName(self, thread_name) 3167 3168 def GetThreadName(self): 3169 r"""GetThreadName(SBBreakpointName self) -> char const *""" 3170 return _lldb.SBBreakpointName_GetThreadName(self) 3171 3172 def SetQueueName(self, queue_name): 3173 r"""SetQueueName(SBBreakpointName self, char const * queue_name)""" 3174 return _lldb.SBBreakpointName_SetQueueName(self, queue_name) 3175 3176 def GetQueueName(self): 3177 r"""GetQueueName(SBBreakpointName self) -> char const *""" 3178 return _lldb.SBBreakpointName_GetQueueName(self) 3179 3180 def SetScriptCallbackFunction(self, *args): 3181 r""" 3182 SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name) 3183 SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 3184 """ 3185 return _lldb.SBBreakpointName_SetScriptCallbackFunction(self, *args) 3186 3187 def SetCommandLineCommands(self, commands): 3188 r"""SetCommandLineCommands(SBBreakpointName self, SBStringList commands)""" 3189 return _lldb.SBBreakpointName_SetCommandLineCommands(self, commands) 3190 3191 def GetCommandLineCommands(self, commands): 3192 r"""GetCommandLineCommands(SBBreakpointName self, SBStringList commands) -> bool""" 3193 return _lldb.SBBreakpointName_GetCommandLineCommands(self, commands) 3194 3195 def SetScriptCallbackBody(self, script_body_text): 3196 r"""SetScriptCallbackBody(SBBreakpointName self, char const * script_body_text) -> SBError""" 3197 return _lldb.SBBreakpointName_SetScriptCallbackBody(self, script_body_text) 3198 3199 def GetHelpString(self): 3200 r"""GetHelpString(SBBreakpointName self) -> char const *""" 3201 return _lldb.SBBreakpointName_GetHelpString(self) 3202 3203 def SetHelpString(self, help_string): 3204 r"""SetHelpString(SBBreakpointName self, char const * help_string)""" 3205 return _lldb.SBBreakpointName_SetHelpString(self, help_string) 3206 3207 def GetAllowList(self): 3208 r"""GetAllowList(SBBreakpointName self) -> bool""" 3209 return _lldb.SBBreakpointName_GetAllowList(self) 3210 3211 def SetAllowList(self, value): 3212 r"""SetAllowList(SBBreakpointName self, bool value)""" 3213 return _lldb.SBBreakpointName_SetAllowList(self, value) 3214 3215 def GetAllowDelete(self): 3216 r"""GetAllowDelete(SBBreakpointName self) -> bool""" 3217 return _lldb.SBBreakpointName_GetAllowDelete(self) 3218 3219 def SetAllowDelete(self, value): 3220 r"""SetAllowDelete(SBBreakpointName self, bool value)""" 3221 return _lldb.SBBreakpointName_SetAllowDelete(self, value) 3222 3223 def GetAllowDisable(self): 3224 r"""GetAllowDisable(SBBreakpointName self) -> bool""" 3225 return _lldb.SBBreakpointName_GetAllowDisable(self) 3226 3227 def SetAllowDisable(self, value): 3228 r"""SetAllowDisable(SBBreakpointName self, bool value)""" 3229 return _lldb.SBBreakpointName_SetAllowDisable(self, value) 3230 3231 def GetDescription(self, description): 3232 r"""GetDescription(SBBreakpointName self, SBStream description) -> bool""" 3233 return _lldb.SBBreakpointName_GetDescription(self, description) 3234 3235 def __repr__(self): 3236 r"""__repr__(SBBreakpointName self) -> std::string""" 3237 return _lldb.SBBreakpointName___repr__(self) 3238 3239 # operator== is a free function, which swig does not handle, so we inject 3240 # our own equality operator here 3241 def __eq__(self, other): 3242 return not self.__ne__(other) 3243 3244 3245# Register SBBreakpointName in _lldb: 3246_lldb.SBBreakpointName_swigregister(SBBreakpointName) 3247class SBBroadcaster(object): 3248 r""" 3249 Represents an entity which can broadcast events. 3250 3251 A default broadcaster is 3252 associated with an SBCommandInterpreter, SBProcess, and SBTarget. For 3253 example, use :: 3254 3255 broadcaster = process.GetBroadcaster() 3256 3257 to retrieve the process's broadcaster. 3258 3259 See also SBEvent for example usage of interacting with a broadcaster. 3260 """ 3261 3262 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3263 __repr__ = _swig_repr 3264 3265 def __init__(self, *args): 3266 r""" 3267 __init__(SBBroadcaster self) -> SBBroadcaster 3268 __init__(SBBroadcaster self, char const * name) -> SBBroadcaster 3269 __init__(SBBroadcaster self, SBBroadcaster rhs) -> SBBroadcaster 3270 """ 3271 _lldb.SBBroadcaster_swiginit(self, _lldb.new_SBBroadcaster(*args)) 3272 __swig_destroy__ = _lldb.delete_SBBroadcaster 3273 3274 def __nonzero__(self): 3275 return _lldb.SBBroadcaster___nonzero__(self) 3276 __bool__ = __nonzero__ 3277 3278 3279 3280 def IsValid(self): 3281 r"""IsValid(SBBroadcaster self) -> bool""" 3282 return _lldb.SBBroadcaster_IsValid(self) 3283 3284 def Clear(self): 3285 r"""Clear(SBBroadcaster self)""" 3286 return _lldb.SBBroadcaster_Clear(self) 3287 3288 def BroadcastEventByType(self, event_type, unique=False): 3289 r"""BroadcastEventByType(SBBroadcaster self, uint32_t event_type, bool unique=False)""" 3290 return _lldb.SBBroadcaster_BroadcastEventByType(self, event_type, unique) 3291 3292 def BroadcastEvent(self, event, unique=False): 3293 r"""BroadcastEvent(SBBroadcaster self, SBEvent event, bool unique=False)""" 3294 return _lldb.SBBroadcaster_BroadcastEvent(self, event, unique) 3295 3296 def AddInitialEventsToListener(self, listener, requested_events): 3297 r"""AddInitialEventsToListener(SBBroadcaster self, SBListener listener, uint32_t requested_events)""" 3298 return _lldb.SBBroadcaster_AddInitialEventsToListener(self, listener, requested_events) 3299 3300 def AddListener(self, listener, event_mask): 3301 r"""AddListener(SBBroadcaster self, SBListener listener, uint32_t event_mask) -> uint32_t""" 3302 return _lldb.SBBroadcaster_AddListener(self, listener, event_mask) 3303 3304 def GetName(self): 3305 r"""GetName(SBBroadcaster self) -> char const *""" 3306 return _lldb.SBBroadcaster_GetName(self) 3307 3308 def EventTypeHasListeners(self, event_type): 3309 r"""EventTypeHasListeners(SBBroadcaster self, uint32_t event_type) -> bool""" 3310 return _lldb.SBBroadcaster_EventTypeHasListeners(self, event_type) 3311 3312 def RemoveListener(self, *args): 3313 r"""RemoveListener(SBBroadcaster self, SBListener listener, uint32_t event_mask=4294967295U) -> bool""" 3314 return _lldb.SBBroadcaster_RemoveListener(self, *args) 3315 3316 def __eq__(self, rhs): 3317 r"""__eq__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3318 return _lldb.SBBroadcaster___eq__(self, rhs) 3319 3320 def __ne__(self, rhs): 3321 r"""__ne__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3322 return _lldb.SBBroadcaster___ne__(self, rhs) 3323 3324 def __lt__(self, rhs): 3325 r"""__lt__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3326 return _lldb.SBBroadcaster___lt__(self, rhs) 3327 3328 # operator== is a free function, which swig does not handle, so we inject 3329 # our own equality operator here 3330 def __eq__(self, other): 3331 return not self.__ne__(other) 3332 3333 3334 def __eq__(self, rhs): 3335 if not isinstance(rhs, type(self)): 3336 return False 3337 3338 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 3339 3340 def __ne__(self, rhs): 3341 if not isinstance(rhs, type(self)): 3342 return True 3343 3344 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 3345 3346 3347# Register SBBroadcaster in _lldb: 3348_lldb.SBBroadcaster_swigregister(SBBroadcaster) 3349class SBCommandInterpreter(object): 3350 r""" 3351 SBCommandInterpreter handles/interprets commands for lldb. 3352 3353 You get the command interpreter from the :py:class:`SBDebugger` instance. 3354 3355 For example (from test/ python_api/interpreter/TestCommandInterpreterAPI.py),:: 3356 3357 def command_interpreter_api(self): 3358 '''Test the SBCommandInterpreter APIs.''' 3359 exe = os.path.join(os.getcwd(), 'a.out') 3360 3361 # Create a target by the debugger. 3362 target = self.dbg.CreateTarget(exe) 3363 self.assertTrue(target, VALID_TARGET) 3364 3365 # Retrieve the associated command interpreter from our debugger. 3366 ci = self.dbg.GetCommandInterpreter() 3367 self.assertTrue(ci, VALID_COMMAND_INTERPRETER) 3368 3369 # Exercise some APIs.... 3370 3371 self.assertTrue(ci.HasCommands()) 3372 self.assertTrue(ci.HasAliases()) 3373 self.assertTrue(ci.HasAliasOptions()) 3374 self.assertTrue(ci.CommandExists('breakpoint')) 3375 self.assertTrue(ci.CommandExists('target')) 3376 self.assertTrue(ci.CommandExists('platform')) 3377 self.assertTrue(ci.AliasExists('file')) 3378 self.assertTrue(ci.AliasExists('run')) 3379 self.assertTrue(ci.AliasExists('bt')) 3380 3381 res = lldb.SBCommandReturnObject() 3382 ci.HandleCommand('breakpoint set -f main.c -l %d' % self.line, res) 3383 self.assertTrue(res.Succeeded()) 3384 ci.HandleCommand('process launch', res) 3385 self.assertTrue(res.Succeeded()) 3386 3387 process = ci.GetProcess() 3388 self.assertTrue(process) 3389 3390 ... 3391 3392 The HandleCommand() instance method takes two args: the command string and 3393 an SBCommandReturnObject instance which encapsulates the result of command 3394 execution. 3395 """ 3396 3397 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3398 __repr__ = _swig_repr 3399 eBroadcastBitThreadShouldExit = _lldb.SBCommandInterpreter_eBroadcastBitThreadShouldExit 3400 3401 eBroadcastBitResetPrompt = _lldb.SBCommandInterpreter_eBroadcastBitResetPrompt 3402 3403 eBroadcastBitQuitCommandReceived = _lldb.SBCommandInterpreter_eBroadcastBitQuitCommandReceived 3404 3405 eBroadcastBitAsynchronousOutputData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousOutputData 3406 3407 eBroadcastBitAsynchronousErrorData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousErrorData 3408 3409 3410 def __init__(self, *args): 3411 r""" 3412 __init__(SBCommandInterpreter self) -> SBCommandInterpreter 3413 __init__(SBCommandInterpreter self, SBCommandInterpreter rhs) -> SBCommandInterpreter 3414 """ 3415 _lldb.SBCommandInterpreter_swiginit(self, _lldb.new_SBCommandInterpreter(*args)) 3416 __swig_destroy__ = _lldb.delete_SBCommandInterpreter 3417 3418 @staticmethod 3419 def GetArgumentTypeAsCString(arg_type): 3420 r"""GetArgumentTypeAsCString(lldb::CommandArgumentType const arg_type) -> char const *""" 3421 return _lldb.SBCommandInterpreter_GetArgumentTypeAsCString(arg_type) 3422 3423 @staticmethod 3424 def GetArgumentDescriptionAsCString(arg_type): 3425 r"""GetArgumentDescriptionAsCString(lldb::CommandArgumentType const arg_type) -> char const *""" 3426 return _lldb.SBCommandInterpreter_GetArgumentDescriptionAsCString(arg_type) 3427 3428 @staticmethod 3429 def EventIsCommandInterpreterEvent(event): 3430 r"""EventIsCommandInterpreterEvent(SBEvent event) -> bool""" 3431 return _lldb.SBCommandInterpreter_EventIsCommandInterpreterEvent(event) 3432 3433 def __nonzero__(self): 3434 return _lldb.SBCommandInterpreter___nonzero__(self) 3435 __bool__ = __nonzero__ 3436 3437 3438 3439 def IsValid(self): 3440 r"""IsValid(SBCommandInterpreter self) -> bool""" 3441 return _lldb.SBCommandInterpreter_IsValid(self) 3442 3443 def CommandExists(self, cmd): 3444 r"""CommandExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3445 return _lldb.SBCommandInterpreter_CommandExists(self, cmd) 3446 3447 def UserCommandExists(self, cmd): 3448 r"""UserCommandExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3449 return _lldb.SBCommandInterpreter_UserCommandExists(self, cmd) 3450 3451 def AliasExists(self, cmd): 3452 r"""AliasExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3453 return _lldb.SBCommandInterpreter_AliasExists(self, cmd) 3454 3455 def GetBroadcaster(self): 3456 r"""GetBroadcaster(SBCommandInterpreter self) -> SBBroadcaster""" 3457 return _lldb.SBCommandInterpreter_GetBroadcaster(self) 3458 3459 @staticmethod 3460 def GetBroadcasterClass(): 3461 r"""GetBroadcasterClass() -> char const *""" 3462 return _lldb.SBCommandInterpreter_GetBroadcasterClass() 3463 3464 def HasCommands(self): 3465 r"""HasCommands(SBCommandInterpreter self) -> bool""" 3466 return _lldb.SBCommandInterpreter_HasCommands(self) 3467 3468 def HasAliases(self): 3469 r"""HasAliases(SBCommandInterpreter self) -> bool""" 3470 return _lldb.SBCommandInterpreter_HasAliases(self) 3471 3472 def HasAliasOptions(self): 3473 r"""HasAliasOptions(SBCommandInterpreter self) -> bool""" 3474 return _lldb.SBCommandInterpreter_HasAliasOptions(self) 3475 3476 def IsInteractive(self): 3477 r"""IsInteractive(SBCommandInterpreter self) -> bool""" 3478 return _lldb.SBCommandInterpreter_IsInteractive(self) 3479 3480 def GetProcess(self): 3481 r"""GetProcess(SBCommandInterpreter self) -> SBProcess""" 3482 return _lldb.SBCommandInterpreter_GetProcess(self) 3483 3484 def GetDebugger(self): 3485 r"""GetDebugger(SBCommandInterpreter self) -> SBDebugger""" 3486 return _lldb.SBCommandInterpreter_GetDebugger(self) 3487 3488 def SourceInitFileInHomeDirectory(self, *args): 3489 r""" 3490 SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result) 3491 SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result, bool is_repl) 3492 """ 3493 return _lldb.SBCommandInterpreter_SourceInitFileInHomeDirectory(self, *args) 3494 3495 def SourceInitFileInCurrentWorkingDirectory(self, result): 3496 r"""SourceInitFileInCurrentWorkingDirectory(SBCommandInterpreter self, SBCommandReturnObject result)""" 3497 return _lldb.SBCommandInterpreter_SourceInitFileInCurrentWorkingDirectory(self, result) 3498 3499 def HandleCommand(self, *args): 3500 r""" 3501 HandleCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus 3502 HandleCommand(SBCommandInterpreter self, char const * command_line, SBExecutionContext exe_ctx, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus 3503 """ 3504 return _lldb.SBCommandInterpreter_HandleCommand(self, *args) 3505 3506 def HandleCommandsFromFile(self, file, override_context, options, result): 3507 r"""HandleCommandsFromFile(SBCommandInterpreter self, SBFileSpec file, SBExecutionContext override_context, SBCommandInterpreterRunOptions options, SBCommandReturnObject result)""" 3508 return _lldb.SBCommandInterpreter_HandleCommandsFromFile(self, file, override_context, options, result) 3509 3510 def HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches): 3511 r"""HandleCompletion(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches) -> int""" 3512 return _lldb.SBCommandInterpreter_HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches) 3513 3514 def HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions): 3515 r"""HandleCompletionWithDescriptions(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches, SBStringList descriptions) -> int""" 3516 return _lldb.SBCommandInterpreter_HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions) 3517 3518 def WasInterrupted(self): 3519 r"""WasInterrupted(SBCommandInterpreter self) -> bool""" 3520 return _lldb.SBCommandInterpreter_WasInterrupted(self) 3521 3522 def InterruptCommand(self): 3523 r"""InterruptCommand(SBCommandInterpreter self) -> bool""" 3524 return _lldb.SBCommandInterpreter_InterruptCommand(self) 3525 3526 def SetCommandOverrideCallback(self, command_name, callback): 3527 r"""SetCommandOverrideCallback(SBCommandInterpreter self, char const * command_name, lldb::CommandOverrideCallback callback) -> bool""" 3528 return _lldb.SBCommandInterpreter_SetCommandOverrideCallback(self, command_name, callback) 3529 3530 def IsActive(self): 3531 r"""IsActive(SBCommandInterpreter self) -> bool""" 3532 return _lldb.SBCommandInterpreter_IsActive(self) 3533 3534 def GetIOHandlerControlSequence(self, ch): 3535 r"""GetIOHandlerControlSequence(SBCommandInterpreter self, char ch) -> char const *""" 3536 return _lldb.SBCommandInterpreter_GetIOHandlerControlSequence(self, ch) 3537 3538 def GetPromptOnQuit(self): 3539 r"""GetPromptOnQuit(SBCommandInterpreter self) -> bool""" 3540 return _lldb.SBCommandInterpreter_GetPromptOnQuit(self) 3541 3542 def SetPromptOnQuit(self, b): 3543 r"""SetPromptOnQuit(SBCommandInterpreter self, bool b)""" 3544 return _lldb.SBCommandInterpreter_SetPromptOnQuit(self, b) 3545 3546 def AllowExitCodeOnQuit(self, allow): 3547 r"""AllowExitCodeOnQuit(SBCommandInterpreter self, bool allow)""" 3548 return _lldb.SBCommandInterpreter_AllowExitCodeOnQuit(self, allow) 3549 3550 def HasCustomQuitExitCode(self): 3551 r"""HasCustomQuitExitCode(SBCommandInterpreter self) -> bool""" 3552 return _lldb.SBCommandInterpreter_HasCustomQuitExitCode(self) 3553 3554 def GetQuitStatus(self): 3555 r"""GetQuitStatus(SBCommandInterpreter self) -> int""" 3556 return _lldb.SBCommandInterpreter_GetQuitStatus(self) 3557 3558 def ResolveCommand(self, command_line, result): 3559 r"""ResolveCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result)""" 3560 return _lldb.SBCommandInterpreter_ResolveCommand(self, command_line, result) 3561 3562 def GetStatistics(self): 3563 r"""GetStatistics(SBCommandInterpreter self) -> SBStructuredData""" 3564 return _lldb.SBCommandInterpreter_GetStatistics(self) 3565 3566 def GetTranscript(self): 3567 r"""GetTranscript(SBCommandInterpreter self) -> SBStructuredData""" 3568 return _lldb.SBCommandInterpreter_GetTranscript(self) 3569 3570# Register SBCommandInterpreter in _lldb: 3571_lldb.SBCommandInterpreter_swigregister(SBCommandInterpreter) 3572class SBCommandInterpreterRunOptions(object): 3573 r""" 3574 SBCommandInterpreterRunOptions controls how the RunCommandInterpreter runs the code it is fed. 3575 3576 A default SBCommandInterpreterRunOptions object has: 3577 3578 * StopOnContinue: false 3579 * StopOnError: false 3580 * StopOnCrash: false 3581 * EchoCommands: true 3582 * PrintResults: true 3583 * PrintErrors: true 3584 * AddToHistory: true 3585 * AllowRepeats false 3586 3587 Interactive debug sessions always allow repeats, the AllowRepeats 3588 run option only affects non-interactive sessions. 3589 3590 """ 3591 3592 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3593 __repr__ = _swig_repr 3594 3595 def __init__(self, *args): 3596 r""" 3597 __init__(SBCommandInterpreterRunOptions self) -> SBCommandInterpreterRunOptions 3598 __init__(SBCommandInterpreterRunOptions self, SBCommandInterpreterRunOptions rhs) -> SBCommandInterpreterRunOptions 3599 """ 3600 _lldb.SBCommandInterpreterRunOptions_swiginit(self, _lldb.new_SBCommandInterpreterRunOptions(*args)) 3601 __swig_destroy__ = _lldb.delete_SBCommandInterpreterRunOptions 3602 3603 def GetStopOnContinue(self): 3604 r"""GetStopOnContinue(SBCommandInterpreterRunOptions self) -> bool""" 3605 return _lldb.SBCommandInterpreterRunOptions_GetStopOnContinue(self) 3606 3607 def SetStopOnContinue(self, arg2): 3608 r"""SetStopOnContinue(SBCommandInterpreterRunOptions self, bool arg2)""" 3609 return _lldb.SBCommandInterpreterRunOptions_SetStopOnContinue(self, arg2) 3610 3611 def GetStopOnError(self): 3612 r"""GetStopOnError(SBCommandInterpreterRunOptions self) -> bool""" 3613 return _lldb.SBCommandInterpreterRunOptions_GetStopOnError(self) 3614 3615 def SetStopOnError(self, arg2): 3616 r"""SetStopOnError(SBCommandInterpreterRunOptions self, bool arg2)""" 3617 return _lldb.SBCommandInterpreterRunOptions_SetStopOnError(self, arg2) 3618 3619 def GetStopOnCrash(self): 3620 r"""GetStopOnCrash(SBCommandInterpreterRunOptions self) -> bool""" 3621 return _lldb.SBCommandInterpreterRunOptions_GetStopOnCrash(self) 3622 3623 def SetStopOnCrash(self, arg2): 3624 r"""SetStopOnCrash(SBCommandInterpreterRunOptions self, bool arg2)""" 3625 return _lldb.SBCommandInterpreterRunOptions_SetStopOnCrash(self, arg2) 3626 3627 def GetEchoCommands(self): 3628 r"""GetEchoCommands(SBCommandInterpreterRunOptions self) -> bool""" 3629 return _lldb.SBCommandInterpreterRunOptions_GetEchoCommands(self) 3630 3631 def SetEchoCommands(self, arg2): 3632 r"""SetEchoCommands(SBCommandInterpreterRunOptions self, bool arg2)""" 3633 return _lldb.SBCommandInterpreterRunOptions_SetEchoCommands(self, arg2) 3634 3635 def GetEchoCommentCommands(self): 3636 r"""GetEchoCommentCommands(SBCommandInterpreterRunOptions self) -> bool""" 3637 return _lldb.SBCommandInterpreterRunOptions_GetEchoCommentCommands(self) 3638 3639 def SetEchoCommentCommands(self, echo): 3640 r"""SetEchoCommentCommands(SBCommandInterpreterRunOptions self, bool echo)""" 3641 return _lldb.SBCommandInterpreterRunOptions_SetEchoCommentCommands(self, echo) 3642 3643 def GetPrintResults(self): 3644 r"""GetPrintResults(SBCommandInterpreterRunOptions self) -> bool""" 3645 return _lldb.SBCommandInterpreterRunOptions_GetPrintResults(self) 3646 3647 def SetPrintResults(self, arg2): 3648 r"""SetPrintResults(SBCommandInterpreterRunOptions self, bool arg2)""" 3649 return _lldb.SBCommandInterpreterRunOptions_SetPrintResults(self, arg2) 3650 3651 def GetPrintErrors(self): 3652 r"""GetPrintErrors(SBCommandInterpreterRunOptions self) -> bool""" 3653 return _lldb.SBCommandInterpreterRunOptions_GetPrintErrors(self) 3654 3655 def SetPrintErrors(self, arg2): 3656 r"""SetPrintErrors(SBCommandInterpreterRunOptions self, bool arg2)""" 3657 return _lldb.SBCommandInterpreterRunOptions_SetPrintErrors(self, arg2) 3658 3659 def GetAddToHistory(self): 3660 r"""GetAddToHistory(SBCommandInterpreterRunOptions self) -> bool""" 3661 return _lldb.SBCommandInterpreterRunOptions_GetAddToHistory(self) 3662 3663 def SetAddToHistory(self, arg2): 3664 r"""SetAddToHistory(SBCommandInterpreterRunOptions self, bool arg2)""" 3665 return _lldb.SBCommandInterpreterRunOptions_SetAddToHistory(self, arg2) 3666 3667 def GetAutoHandleEvents(self): 3668 r"""GetAutoHandleEvents(SBCommandInterpreterRunOptions self) -> bool""" 3669 return _lldb.SBCommandInterpreterRunOptions_GetAutoHandleEvents(self) 3670 3671 def SetAutoHandleEvents(self, arg2): 3672 r"""SetAutoHandleEvents(SBCommandInterpreterRunOptions self, bool arg2)""" 3673 return _lldb.SBCommandInterpreterRunOptions_SetAutoHandleEvents(self, arg2) 3674 3675 def GetSpawnThread(self): 3676 r"""GetSpawnThread(SBCommandInterpreterRunOptions self) -> bool""" 3677 return _lldb.SBCommandInterpreterRunOptions_GetSpawnThread(self) 3678 3679 def SetSpawnThread(self, arg2): 3680 r"""SetSpawnThread(SBCommandInterpreterRunOptions self, bool arg2)""" 3681 return _lldb.SBCommandInterpreterRunOptions_SetSpawnThread(self, arg2) 3682 3683 def GetAllowRepeats(self): 3684 r"""GetAllowRepeats(SBCommandInterpreterRunOptions self) -> bool""" 3685 return _lldb.SBCommandInterpreterRunOptions_GetAllowRepeats(self) 3686 3687 def SetAllowRepeats(self, arg2): 3688 r"""SetAllowRepeats(SBCommandInterpreterRunOptions self, bool arg2)""" 3689 return _lldb.SBCommandInterpreterRunOptions_SetAllowRepeats(self, arg2) 3690 3691# Register SBCommandInterpreterRunOptions in _lldb: 3692_lldb.SBCommandInterpreterRunOptions_swigregister(SBCommandInterpreterRunOptions) 3693class SBCommandReturnObject(object): 3694 r""" 3695 Represents a container which holds the result from command execution. 3696 It works with :py:class:`SBCommandInterpreter.HandleCommand()` to encapsulate the result 3697 of command execution. 3698 3699 See :py:class:`SBCommandInterpreter` for example usage of SBCommandReturnObject. 3700 """ 3701 3702 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3703 3704 def __init__(self, *args): 3705 r""" 3706 __init__(SBCommandReturnObject self) -> SBCommandReturnObject 3707 __init__(SBCommandReturnObject self, SBCommandReturnObject rhs) -> SBCommandReturnObject 3708 """ 3709 _lldb.SBCommandReturnObject_swiginit(self, _lldb.new_SBCommandReturnObject(*args)) 3710 __swig_destroy__ = _lldb.delete_SBCommandReturnObject 3711 3712 def __nonzero__(self): 3713 return _lldb.SBCommandReturnObject___nonzero__(self) 3714 __bool__ = __nonzero__ 3715 3716 3717 3718 def IsValid(self): 3719 r"""IsValid(SBCommandReturnObject self) -> bool""" 3720 return _lldb.SBCommandReturnObject_IsValid(self) 3721 3722 def PutOutput(self, *args): 3723 r""" 3724 PutOutput(SBCommandReturnObject self, SBFile file) -> size_t 3725 PutOutput(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t 3726 """ 3727 return _lldb.SBCommandReturnObject_PutOutput(self, *args) 3728 3729 def GetOutputSize(self): 3730 r"""GetOutputSize(SBCommandReturnObject self) -> size_t""" 3731 return _lldb.SBCommandReturnObject_GetOutputSize(self) 3732 3733 def GetErrorSize(self): 3734 r"""GetErrorSize(SBCommandReturnObject self) -> size_t""" 3735 return _lldb.SBCommandReturnObject_GetErrorSize(self) 3736 3737 def PutError(self, *args): 3738 r""" 3739 PutError(SBCommandReturnObject self, SBFile file) -> size_t 3740 PutError(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t 3741 """ 3742 return _lldb.SBCommandReturnObject_PutError(self, *args) 3743 3744 def Clear(self): 3745 r"""Clear(SBCommandReturnObject self)""" 3746 return _lldb.SBCommandReturnObject_Clear(self) 3747 3748 def GetStatus(self): 3749 r"""GetStatus(SBCommandReturnObject self) -> lldb::ReturnStatus""" 3750 return _lldb.SBCommandReturnObject_GetStatus(self) 3751 3752 def SetStatus(self, status): 3753 r"""SetStatus(SBCommandReturnObject self, lldb::ReturnStatus status)""" 3754 return _lldb.SBCommandReturnObject_SetStatus(self, status) 3755 3756 def Succeeded(self): 3757 r"""Succeeded(SBCommandReturnObject self) -> bool""" 3758 return _lldb.SBCommandReturnObject_Succeeded(self) 3759 3760 def HasResult(self): 3761 r"""HasResult(SBCommandReturnObject self) -> bool""" 3762 return _lldb.SBCommandReturnObject_HasResult(self) 3763 3764 def AppendMessage(self, message): 3765 r"""AppendMessage(SBCommandReturnObject self, char const * message)""" 3766 return _lldb.SBCommandReturnObject_AppendMessage(self, message) 3767 3768 def AppendWarning(self, message): 3769 r"""AppendWarning(SBCommandReturnObject self, char const * message)""" 3770 return _lldb.SBCommandReturnObject_AppendWarning(self, message) 3771 3772 def GetDescription(self, description): 3773 r"""GetDescription(SBCommandReturnObject self, SBStream description) -> bool""" 3774 return _lldb.SBCommandReturnObject_GetDescription(self, description) 3775 3776 def PutCString(self, string): 3777 r"""PutCString(SBCommandReturnObject self, char const * string)""" 3778 return _lldb.SBCommandReturnObject_PutCString(self, string) 3779 3780 def GetOutput(self, *args): 3781 r""" 3782 GetOutput(SBCommandReturnObject self) -> char const 3783 GetOutput(SBCommandReturnObject self, bool only_if_no_immediate) -> char const * 3784 """ 3785 return _lldb.SBCommandReturnObject_GetOutput(self, *args) 3786 3787 def GetError(self, *args): 3788 r""" 3789 GetError(SBCommandReturnObject self) -> char const 3790 GetError(SBCommandReturnObject self, bool only_if_no_immediate) -> char const * 3791 """ 3792 return _lldb.SBCommandReturnObject_GetError(self, *args) 3793 3794 def SetError(self, *args): 3795 r""" 3796 SetError(SBCommandReturnObject self, SBError error, char const * fallback_error_cstr=None) 3797 SetError(SBCommandReturnObject self, char const * error_cstr) 3798 """ 3799 return _lldb.SBCommandReturnObject_SetError(self, *args) 3800 3801 def __repr__(self): 3802 r"""__repr__(SBCommandReturnObject self) -> std::string""" 3803 return _lldb.SBCommandReturnObject___repr__(self) 3804 3805 def SetImmediateOutputFile(self, *args): 3806 r""" 3807 SetImmediateOutputFile(SBCommandReturnObject self, SBFile file) 3808 SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED) 3809 SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership) 3810 """ 3811 return _lldb.SBCommandReturnObject_SetImmediateOutputFile(self, *args) 3812 3813 def SetImmediateErrorFile(self, *args): 3814 r""" 3815 SetImmediateErrorFile(SBCommandReturnObject self, SBFile file) 3816 SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED) 3817 SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership) 3818 """ 3819 return _lldb.SBCommandReturnObject_SetImmediateErrorFile(self, *args) 3820 3821 def Print(self, str): 3822 r"""Print(SBCommandReturnObject self, char const * str)""" 3823 return _lldb.SBCommandReturnObject_Print(self, str) 3824 3825 def write(self, str): 3826 r"""write(SBCommandReturnObject self, char const * str)""" 3827 return _lldb.SBCommandReturnObject_write(self, str) 3828 3829 def flush(self): 3830 r"""flush(SBCommandReturnObject self)""" 3831 return _lldb.SBCommandReturnObject_flush(self) 3832 3833# Register SBCommandReturnObject in _lldb: 3834_lldb.SBCommandReturnObject_swigregister(SBCommandReturnObject) 3835class SBCommunication(object): 3836 r"""Allows sending/receiving data.""" 3837 3838 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3839 __repr__ = _swig_repr 3840 eBroadcastBitDisconnected = _lldb.SBCommunication_eBroadcastBitDisconnected 3841 3842 eBroadcastBitReadThreadGotBytes = _lldb.SBCommunication_eBroadcastBitReadThreadGotBytes 3843 3844 eBroadcastBitReadThreadDidExit = _lldb.SBCommunication_eBroadcastBitReadThreadDidExit 3845 3846 eBroadcastBitReadThreadShouldExit = _lldb.SBCommunication_eBroadcastBitReadThreadShouldExit 3847 3848 eBroadcastBitPacketAvailable = _lldb.SBCommunication_eBroadcastBitPacketAvailable 3849 3850 eAllEventBits = _lldb.SBCommunication_eAllEventBits 3851 3852 3853 def __init__(self, *args): 3854 r""" 3855 __init__(SBCommunication self) -> SBCommunication 3856 __init__(SBCommunication self, char const * broadcaster_name) -> SBCommunication 3857 """ 3858 _lldb.SBCommunication_swiginit(self, _lldb.new_SBCommunication(*args)) 3859 __swig_destroy__ = _lldb.delete_SBCommunication 3860 3861 def __nonzero__(self): 3862 return _lldb.SBCommunication___nonzero__(self) 3863 __bool__ = __nonzero__ 3864 3865 3866 3867 def IsValid(self): 3868 r"""IsValid(SBCommunication self) -> bool""" 3869 return _lldb.SBCommunication_IsValid(self) 3870 3871 def GetBroadcaster(self): 3872 r"""GetBroadcaster(SBCommunication self) -> SBBroadcaster""" 3873 return _lldb.SBCommunication_GetBroadcaster(self) 3874 3875 @staticmethod 3876 def GetBroadcasterClass(): 3877 r"""GetBroadcasterClass() -> char const *""" 3878 return _lldb.SBCommunication_GetBroadcasterClass() 3879 3880 def AdoptFileDesriptor(self, fd, owns_fd): 3881 r"""AdoptFileDesriptor(SBCommunication self, int fd, bool owns_fd) -> lldb::ConnectionStatus""" 3882 return _lldb.SBCommunication_AdoptFileDesriptor(self, fd, owns_fd) 3883 3884 def Connect(self, url): 3885 r"""Connect(SBCommunication self, char const * url) -> lldb::ConnectionStatus""" 3886 return _lldb.SBCommunication_Connect(self, url) 3887 3888 def Disconnect(self): 3889 r"""Disconnect(SBCommunication self) -> lldb::ConnectionStatus""" 3890 return _lldb.SBCommunication_Disconnect(self) 3891 3892 def IsConnected(self): 3893 r"""IsConnected(SBCommunication self) -> bool""" 3894 return _lldb.SBCommunication_IsConnected(self) 3895 3896 def GetCloseOnEOF(self): 3897 r"""GetCloseOnEOF(SBCommunication self) -> bool""" 3898 return _lldb.SBCommunication_GetCloseOnEOF(self) 3899 3900 def SetCloseOnEOF(self, b): 3901 r"""SetCloseOnEOF(SBCommunication self, bool b)""" 3902 return _lldb.SBCommunication_SetCloseOnEOF(self, b) 3903 3904 def Read(self, dst, dst_len, timeout_usec, status): 3905 r"""Read(SBCommunication self, void * dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus & status) -> size_t""" 3906 return _lldb.SBCommunication_Read(self, dst, dst_len, timeout_usec, status) 3907 3908 def Write(self, src, src_len, status): 3909 r"""Write(SBCommunication self, void const * src, size_t src_len, lldb::ConnectionStatus & status) -> size_t""" 3910 return _lldb.SBCommunication_Write(self, src, src_len, status) 3911 3912 def ReadThreadStart(self): 3913 r"""ReadThreadStart(SBCommunication self) -> bool""" 3914 return _lldb.SBCommunication_ReadThreadStart(self) 3915 3916 def ReadThreadStop(self): 3917 r"""ReadThreadStop(SBCommunication self) -> bool""" 3918 return _lldb.SBCommunication_ReadThreadStop(self) 3919 3920 def ReadThreadIsRunning(self): 3921 r"""ReadThreadIsRunning(SBCommunication self) -> bool""" 3922 return _lldb.SBCommunication_ReadThreadIsRunning(self) 3923 3924 def SetReadThreadBytesReceivedCallback(self, callback, callback_baton): 3925 r"""SetReadThreadBytesReceivedCallback(SBCommunication self, lldb::SBCommunication::ReadThreadBytesReceived callback, void * callback_baton) -> bool""" 3926 return _lldb.SBCommunication_SetReadThreadBytesReceivedCallback(self, callback, callback_baton) 3927 3928# Register SBCommunication in _lldb: 3929_lldb.SBCommunication_swigregister(SBCommunication) 3930class SBCompileUnit(object): 3931 r""" 3932 Represents a compilation unit, or compiled source file. 3933 3934 SBCompileUnit supports line entry iteration. For example,:: 3935 3936 # Now get the SBSymbolContext from this frame. We want everything. :-) 3937 context = frame0.GetSymbolContext(lldb.eSymbolContextEverything) 3938 ... 3939 3940 compileUnit = context.GetCompileUnit() 3941 3942 for lineEntry in compileUnit: 3943 print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()), 3944 lineEntry.GetLine())) 3945 print('start addr: %s' % str(lineEntry.GetStartAddress())) 3946 print('end addr: %s' % str(lineEntry.GetEndAddress())) 3947 3948 produces: :: 3949 3950 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20 3951 start addr: a.out[0x100000d98] 3952 end addr: a.out[0x100000da3] 3953 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21 3954 start addr: a.out[0x100000da3] 3955 end addr: a.out[0x100000da9] 3956 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22 3957 start addr: a.out[0x100000da9] 3958 end addr: a.out[0x100000db6] 3959 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23 3960 start addr: a.out[0x100000db6] 3961 end addr: a.out[0x100000dbc] 3962 ... 3963 3964 See also :py:class:`SBSymbolContext` and :py:class:`SBLineEntry` 3965 """ 3966 3967 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3968 3969 def __init__(self, *args): 3970 r""" 3971 __init__(SBCompileUnit self) -> SBCompileUnit 3972 __init__(SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit 3973 """ 3974 _lldb.SBCompileUnit_swiginit(self, _lldb.new_SBCompileUnit(*args)) 3975 __swig_destroy__ = _lldb.delete_SBCompileUnit 3976 3977 def __nonzero__(self): 3978 return _lldb.SBCompileUnit___nonzero__(self) 3979 __bool__ = __nonzero__ 3980 3981 3982 3983 def IsValid(self): 3984 r"""IsValid(SBCompileUnit self) -> bool""" 3985 return _lldb.SBCompileUnit_IsValid(self) 3986 3987 def GetFileSpec(self): 3988 r"""GetFileSpec(SBCompileUnit self) -> SBFileSpec""" 3989 return _lldb.SBCompileUnit_GetFileSpec(self) 3990 3991 def GetNumLineEntries(self): 3992 r"""GetNumLineEntries(SBCompileUnit self) -> uint32_t""" 3993 return _lldb.SBCompileUnit_GetNumLineEntries(self) 3994 3995 def GetLineEntryAtIndex(self, idx): 3996 r"""GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) -> SBLineEntry""" 3997 return _lldb.SBCompileUnit_GetLineEntryAtIndex(self, idx) 3998 3999 def FindLineEntryIndex(self, *args): 4000 r""" 4001 FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry, bool exact=False) -> uint32_t 4002 FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec) -> uint32_t 4003 FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec, bool exact) -> uint32_t 4004 4005 Get the index for a provided line entry in this compile unit. 4006 4007 @param[in] line_entry 4008 The SBLineEntry object for which we are looking for the index. 4009 4010 @param[in] exact 4011 An optional boolean defaulting to false that ensures that the provided 4012 line entry has a perfect match in the compile unit. 4013 4014 @return 4015 The index of the user-provided line entry. UINT32_MAX if the line entry 4016 was not found in the compile unit. 4017 """ 4018 return _lldb.SBCompileUnit_FindLineEntryIndex(self, *args) 4019 4020 def GetSupportFileAtIndex(self, idx): 4021 r"""GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) -> SBFileSpec""" 4022 return _lldb.SBCompileUnit_GetSupportFileAtIndex(self, idx) 4023 4024 def GetNumSupportFiles(self): 4025 r"""GetNumSupportFiles(SBCompileUnit self) -> uint32_t""" 4026 return _lldb.SBCompileUnit_GetNumSupportFiles(self) 4027 4028 def FindSupportFileIndex(self, start_idx, sb_file, full): 4029 r"""FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) -> uint32_t""" 4030 return _lldb.SBCompileUnit_FindSupportFileIndex(self, start_idx, sb_file, full) 4031 4032 def GetTypes(self, *args): 4033 r""" 4034 GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList 4035 4036 Get all types matching type_mask from debug info in this 4037 compile unit. 4038 4039 @param[in] type_mask 4040 A bitfield that consists of one or more bits logically OR'ed 4041 together from the lldb::TypeClass enumeration. This allows 4042 you to request only structure types, or only class, struct 4043 and union types. Passing in lldb::eTypeClassAny will return 4044 all types found in the debug information for this compile 4045 unit. 4046 4047 @return 4048 A list of types in this compile unit that match type_mask 4049 """ 4050 return _lldb.SBCompileUnit_GetTypes(self, *args) 4051 4052 def GetLanguage(self): 4053 r"""GetLanguage(SBCompileUnit self) -> lldb::LanguageType""" 4054 return _lldb.SBCompileUnit_GetLanguage(self) 4055 4056 def __eq__(self, rhs): 4057 r"""__eq__(SBCompileUnit self, SBCompileUnit rhs) -> bool""" 4058 return _lldb.SBCompileUnit___eq__(self, rhs) 4059 4060 def __ne__(self, rhs): 4061 r"""__ne__(SBCompileUnit self, SBCompileUnit rhs) -> bool""" 4062 return _lldb.SBCompileUnit___ne__(self, rhs) 4063 4064 def GetDescription(self, description): 4065 r"""GetDescription(SBCompileUnit self, SBStream description) -> bool""" 4066 return _lldb.SBCompileUnit_GetDescription(self, description) 4067 4068 def __repr__(self): 4069 r"""__repr__(SBCompileUnit self) -> std::string""" 4070 return _lldb.SBCompileUnit___repr__(self) 4071 4072 # operator== is a free function, which swig does not handle, so we inject 4073 # our own equality operator here 4074 def __eq__(self, other): 4075 return not self.__ne__(other) 4076 4077 def __iter__(self): 4078 '''Iterate over all line entries in a lldb.SBCompileUnit object.''' 4079 return lldb_iter(self, 'GetNumLineEntries', 'GetLineEntryAtIndex') 4080 4081 def __len__(self): 4082 '''Return the number of line entries in a lldb.SBCompileUnit 4083 object.''' 4084 return self.GetNumLineEntries() 4085 4086 file = property(GetFileSpec, None, doc='''A read only property that returns the same result an lldb object that represents the source file (lldb.SBFileSpec) for the compile unit.''') 4087 num_line_entries = property(GetNumLineEntries, None, doc='''A read only property that returns the number of line entries in a compile unit as an integer.''') 4088 4089 4090 def __eq__(self, rhs): 4091 if not isinstance(rhs, type(self)): 4092 return False 4093 4094 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 4095 4096 def __ne__(self, rhs): 4097 if not isinstance(rhs, type(self)): 4098 return True 4099 4100 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 4101 4102 4103# Register SBCompileUnit in _lldb: 4104_lldb.SBCompileUnit_swigregister(SBCompileUnit) 4105class SBSaveCoreOptions(object): 4106 r"""Proxy of C++ lldb::SBSaveCoreOptions class.""" 4107 4108 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 4109 __repr__ = _swig_repr 4110 4111 def __init__(self, *args): 4112 r""" 4113 __init__(SBSaveCoreOptions self) -> SBSaveCoreOptions 4114 __init__(SBSaveCoreOptions self, SBSaveCoreOptions rhs) -> SBSaveCoreOptions 4115 """ 4116 _lldb.SBSaveCoreOptions_swiginit(self, _lldb.new_SBSaveCoreOptions(*args)) 4117 __swig_destroy__ = _lldb.delete_SBSaveCoreOptions 4118 4119 def SetPluginName(self, plugin): 4120 r"""SetPluginName(SBSaveCoreOptions self, char const * plugin) -> SBError""" 4121 return _lldb.SBSaveCoreOptions_SetPluginName(self, plugin) 4122 4123 def GetPluginName(self): 4124 r"""GetPluginName(SBSaveCoreOptions self) -> char const *""" 4125 return _lldb.SBSaveCoreOptions_GetPluginName(self) 4126 4127 def SetStyle(self, style): 4128 r"""SetStyle(SBSaveCoreOptions self, lldb::SaveCoreStyle style)""" 4129 return _lldb.SBSaveCoreOptions_SetStyle(self, style) 4130 4131 def GetStyle(self): 4132 r"""GetStyle(SBSaveCoreOptions self) -> lldb::SaveCoreStyle""" 4133 return _lldb.SBSaveCoreOptions_GetStyle(self) 4134 4135 def SetOutputFile(self, output_file): 4136 r"""SetOutputFile(SBSaveCoreOptions self, SBFileSpec output_file)""" 4137 return _lldb.SBSaveCoreOptions_SetOutputFile(self, output_file) 4138 4139 def GetOutputFile(self): 4140 r"""GetOutputFile(SBSaveCoreOptions self) -> SBFileSpec""" 4141 return _lldb.SBSaveCoreOptions_GetOutputFile(self) 4142 4143 def SetProcess(self, process): 4144 r"""SetProcess(SBSaveCoreOptions self, SBProcess process) -> SBError""" 4145 return _lldb.SBSaveCoreOptions_SetProcess(self, process) 4146 4147 def AddThread(self, thread): 4148 r"""AddThread(SBSaveCoreOptions self, SBThread thread) -> SBError""" 4149 return _lldb.SBSaveCoreOptions_AddThread(self, thread) 4150 4151 def RemoveThread(self, thread): 4152 r"""RemoveThread(SBSaveCoreOptions self, SBThread thread) -> bool""" 4153 return _lldb.SBSaveCoreOptions_RemoveThread(self, thread) 4154 4155 def Clear(self): 4156 r"""Clear(SBSaveCoreOptions self)""" 4157 return _lldb.SBSaveCoreOptions_Clear(self) 4158 4159# Register SBSaveCoreOptions in _lldb: 4160_lldb.SBSaveCoreOptions_swigregister(SBSaveCoreOptions) 4161class SBData(object): 4162 r"""Represents a data buffer.""" 4163 4164 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 4165 4166 def __init__(self, *args): 4167 r""" 4168 __init__(SBData self) -> SBData 4169 __init__(SBData self, SBData rhs) -> SBData 4170 """ 4171 _lldb.SBData_swiginit(self, _lldb.new_SBData(*args)) 4172 __swig_destroy__ = _lldb.delete_SBData 4173 4174 def GetAddressByteSize(self): 4175 r"""GetAddressByteSize(SBData self) -> uint8_t""" 4176 return _lldb.SBData_GetAddressByteSize(self) 4177 4178 def SetAddressByteSize(self, addr_byte_size): 4179 r"""SetAddressByteSize(SBData self, uint8_t addr_byte_size)""" 4180 return _lldb.SBData_SetAddressByteSize(self, addr_byte_size) 4181 4182 def Clear(self): 4183 r"""Clear(SBData self)""" 4184 return _lldb.SBData_Clear(self) 4185 4186 def __nonzero__(self): 4187 return _lldb.SBData___nonzero__(self) 4188 __bool__ = __nonzero__ 4189 4190 4191 4192 def IsValid(self): 4193 r"""IsValid(SBData self) -> bool""" 4194 return _lldb.SBData_IsValid(self) 4195 4196 def GetByteSize(self): 4197 r"""GetByteSize(SBData self) -> size_t""" 4198 return _lldb.SBData_GetByteSize(self) 4199 4200 def GetByteOrder(self): 4201 r"""GetByteOrder(SBData self) -> lldb::ByteOrder""" 4202 return _lldb.SBData_GetByteOrder(self) 4203 4204 def SetByteOrder(self, endian): 4205 r"""SetByteOrder(SBData self, lldb::ByteOrder endian)""" 4206 return _lldb.SBData_SetByteOrder(self, endian) 4207 4208 def GetFloat(self, error, offset): 4209 r"""GetFloat(SBData self, SBError error, lldb::offset_t offset) -> float""" 4210 return _lldb.SBData_GetFloat(self, error, offset) 4211 4212 def GetDouble(self, error, offset): 4213 r"""GetDouble(SBData self, SBError error, lldb::offset_t offset) -> double""" 4214 return _lldb.SBData_GetDouble(self, error, offset) 4215 4216 def GetLongDouble(self, error, offset): 4217 r"""GetLongDouble(SBData self, SBError error, lldb::offset_t offset) -> long double""" 4218 return _lldb.SBData_GetLongDouble(self, error, offset) 4219 4220 def GetAddress(self, error, offset): 4221 r"""GetAddress(SBData self, SBError error, lldb::offset_t offset) -> lldb::addr_t""" 4222 return _lldb.SBData_GetAddress(self, error, offset) 4223 4224 def GetUnsignedInt8(self, error, offset): 4225 r"""GetUnsignedInt8(SBData self, SBError error, lldb::offset_t offset) -> uint8_t""" 4226 return _lldb.SBData_GetUnsignedInt8(self, error, offset) 4227 4228 def GetUnsignedInt16(self, error, offset): 4229 r"""GetUnsignedInt16(SBData self, SBError error, lldb::offset_t offset) -> uint16_t""" 4230 return _lldb.SBData_GetUnsignedInt16(self, error, offset) 4231 4232 def GetUnsignedInt32(self, error, offset): 4233 r"""GetUnsignedInt32(SBData self, SBError error, lldb::offset_t offset) -> uint32_t""" 4234 return _lldb.SBData_GetUnsignedInt32(self, error, offset) 4235 4236 def GetUnsignedInt64(self, error, offset): 4237 r"""GetUnsignedInt64(SBData self, SBError error, lldb::offset_t offset) -> uint64_t""" 4238 return _lldb.SBData_GetUnsignedInt64(self, error, offset) 4239 4240 def GetSignedInt8(self, error, offset): 4241 r"""GetSignedInt8(SBData self, SBError error, lldb::offset_t offset) -> int8_t""" 4242 return _lldb.SBData_GetSignedInt8(self, error, offset) 4243 4244 def GetSignedInt16(self, error, offset): 4245 r"""GetSignedInt16(SBData self, SBError error, lldb::offset_t offset) -> int16_t""" 4246 return _lldb.SBData_GetSignedInt16(self, error, offset) 4247 4248 def GetSignedInt32(self, error, offset): 4249 r"""GetSignedInt32(SBData self, SBError error, lldb::offset_t offset) -> int32_t""" 4250 return _lldb.SBData_GetSignedInt32(self, error, offset) 4251 4252 def GetSignedInt64(self, error, offset): 4253 r"""GetSignedInt64(SBData self, SBError error, lldb::offset_t offset) -> int64_t""" 4254 return _lldb.SBData_GetSignedInt64(self, error, offset) 4255 4256 def GetString(self, error, offset): 4257 r"""GetString(SBData self, SBError error, lldb::offset_t offset) -> char const *""" 4258 return _lldb.SBData_GetString(self, error, offset) 4259 4260 def ReadRawData(self, error, offset, buf): 4261 r"""ReadRawData(SBData self, SBError error, lldb::offset_t offset, void * buf) -> size_t""" 4262 return _lldb.SBData_ReadRawData(self, error, offset, buf) 4263 4264 def GetDescription(self, *args): 4265 r"""GetDescription(SBData self, SBStream description, lldb::addr_t base_addr=18446744073709551615ULL) -> bool""" 4266 return _lldb.SBData_GetDescription(self, *args) 4267 4268 def SetData(self, error, buf, endian, addr_size): 4269 r"""SetData(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)""" 4270 return _lldb.SBData_SetData(self, error, buf, endian, addr_size) 4271 4272 def SetDataWithOwnership(self, error, buf, endian, addr_size): 4273 r"""SetDataWithOwnership(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)""" 4274 return _lldb.SBData_SetDataWithOwnership(self, error, buf, endian, addr_size) 4275 4276 def Append(self, rhs): 4277 r"""Append(SBData self, SBData rhs) -> bool""" 4278 return _lldb.SBData_Append(self, rhs) 4279 4280 @staticmethod 4281 def CreateDataFromCString(endian, addr_byte_size, data): 4282 r"""CreateDataFromCString(lldb::ByteOrder endian, uint32_t addr_byte_size, char const * data) -> SBData""" 4283 return _lldb.SBData_CreateDataFromCString(endian, addr_byte_size, data) 4284 4285 @staticmethod 4286 def CreateDataFromUInt64Array(endian, addr_byte_size, array): 4287 r"""CreateDataFromUInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint64_t * array) -> SBData""" 4288 return _lldb.SBData_CreateDataFromUInt64Array(endian, addr_byte_size, array) 4289 4290 @staticmethod 4291 def CreateDataFromUInt32Array(endian, addr_byte_size, array): 4292 r"""CreateDataFromUInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint32_t * array) -> SBData""" 4293 return _lldb.SBData_CreateDataFromUInt32Array(endian, addr_byte_size, array) 4294 4295 @staticmethod 4296 def CreateDataFromSInt64Array(endian, addr_byte_size, array): 4297 r"""CreateDataFromSInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int64_t * array) -> SBData""" 4298 return _lldb.SBData_CreateDataFromSInt64Array(endian, addr_byte_size, array) 4299 4300 @staticmethod 4301 def CreateDataFromSInt32Array(endian, addr_byte_size, array): 4302 r"""CreateDataFromSInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int32_t * array) -> SBData""" 4303 return _lldb.SBData_CreateDataFromSInt32Array(endian, addr_byte_size, array) 4304 4305 @staticmethod 4306 def CreateDataFromDoubleArray(endian, addr_byte_size, array): 4307 r"""CreateDataFromDoubleArray(lldb::ByteOrder endian, uint32_t addr_byte_size, double * array) -> SBData""" 4308 return _lldb.SBData_CreateDataFromDoubleArray(endian, addr_byte_size, array) 4309 4310 def SetDataFromCString(self, data): 4311 r"""SetDataFromCString(SBData self, char const * data) -> bool""" 4312 return _lldb.SBData_SetDataFromCString(self, data) 4313 4314 def SetDataFromUInt64Array(self, array): 4315 r"""SetDataFromUInt64Array(SBData self, uint64_t * array) -> bool""" 4316 return _lldb.SBData_SetDataFromUInt64Array(self, array) 4317 4318 def SetDataFromUInt32Array(self, array): 4319 r"""SetDataFromUInt32Array(SBData self, uint32_t * array) -> bool""" 4320 return _lldb.SBData_SetDataFromUInt32Array(self, array) 4321 4322 def SetDataFromSInt64Array(self, array): 4323 r"""SetDataFromSInt64Array(SBData self, int64_t * array) -> bool""" 4324 return _lldb.SBData_SetDataFromSInt64Array(self, array) 4325 4326 def SetDataFromSInt32Array(self, array): 4327 r"""SetDataFromSInt32Array(SBData self, int32_t * array) -> bool""" 4328 return _lldb.SBData_SetDataFromSInt32Array(self, array) 4329 4330 def SetDataFromDoubleArray(self, array): 4331 r"""SetDataFromDoubleArray(SBData self, double * array) -> bool""" 4332 return _lldb.SBData_SetDataFromDoubleArray(self, array) 4333 4334 def __repr__(self): 4335 r"""__repr__(SBData self) -> std::string""" 4336 return _lldb.SBData___repr__(self) 4337 4338 def __len__(self): 4339 return self.GetByteSize() 4340 4341 class read_data_helper: 4342 def __init__(self, sbdata, readerfunc, item_size): 4343 self.sbdata = sbdata 4344 self.readerfunc = readerfunc 4345 self.item_size = item_size 4346 def __getitem__(self,key): 4347 if isinstance(key,slice): 4348 list = [] 4349 for x in range(*key.indices(self.__len__())): 4350 list.append(self.__getitem__(x)) 4351 return list 4352 if not (isinstance(key, int)): 4353 raise TypeError('must be int') 4354 key = key * self.item_size # SBData uses byte-based indexes, but we want to use itemsize-based indexes here 4355 error = SBError() 4356 my_data = self.readerfunc(self.sbdata,error,key) 4357 if error.Fail(): 4358 raise IndexError(error.GetCString()) 4359 else: 4360 return my_data 4361 def __len__(self): 4362 return int(self.sbdata.GetByteSize()/self.item_size) 4363 def all(self): 4364 return self[0:len(self)] 4365 4366 @classmethod 4367 def CreateDataFromInt (cls, value, size = None, target = None, ptr_size = None, endian = None): 4368 import sys 4369 lldbmodule = sys.modules[cls.__module__] 4370 lldbdict = lldbmodule.__dict__ 4371 if 'target' in lldbdict: 4372 lldbtarget = lldbdict['target'] 4373 else: 4374 lldbtarget = None 4375 if target is None and lldbtarget is not None and lldbtarget.IsValid(): 4376 target = lldbtarget 4377 if ptr_size is None: 4378 if target and target.IsValid(): 4379 ptr_size = target.addr_size 4380 else: 4381 ptr_size = 8 4382 if endian is None: 4383 if target and target.IsValid(): 4384 endian = target.byte_order 4385 else: 4386 endian = lldbdict['eByteOrderLittle'] 4387 if size is None: 4388 if value > 2147483647: 4389 size = 8 4390 elif value < -2147483648: 4391 size = 8 4392 elif value > 4294967295: 4393 size = 8 4394 else: 4395 size = 4 4396 if size == 4: 4397 if value < 0: 4398 return SBData().CreateDataFromSInt32Array(endian, ptr_size, [value]) 4399 return SBData().CreateDataFromUInt32Array(endian, ptr_size, [value]) 4400 if size == 8: 4401 if value < 0: 4402 return SBData().CreateDataFromSInt64Array(endian, ptr_size, [value]) 4403 return SBData().CreateDataFromUInt64Array(endian, ptr_size, [value]) 4404 return None 4405 4406 def _make_helper(self, sbdata, getfunc, itemsize): 4407 return self.read_data_helper(sbdata, getfunc, itemsize) 4408 4409 def _make_helper_uint8(self): 4410 return self._make_helper(self, SBData.GetUnsignedInt8, 1) 4411 4412 def _make_helper_uint16(self): 4413 return self._make_helper(self, SBData.GetUnsignedInt16, 2) 4414 4415 def _make_helper_uint32(self): 4416 return self._make_helper(self, SBData.GetUnsignedInt32, 4) 4417 4418 def _make_helper_uint64(self): 4419 return self._make_helper(self, SBData.GetUnsignedInt64, 8) 4420 4421 def _make_helper_sint8(self): 4422 return self._make_helper(self, SBData.GetSignedInt8, 1) 4423 4424 def _make_helper_sint16(self): 4425 return self._make_helper(self, SBData.GetSignedInt16, 2) 4426 4427 def _make_helper_sint32(self): 4428 return self._make_helper(self, SBData.GetSignedInt32, 4) 4429 4430 def _make_helper_sint64(self): 4431 return self._make_helper(self, SBData.GetSignedInt64, 8) 4432 4433 def _make_helper_float(self): 4434 return self._make_helper(self, SBData.GetFloat, 4) 4435 4436 def _make_helper_double(self): 4437 return self._make_helper(self, SBData.GetDouble, 8) 4438 4439 def _read_all_uint8(self): 4440 return self._make_helper_uint8().all() 4441 4442 def _read_all_uint16(self): 4443 return self._make_helper_uint16().all() 4444 4445 def _read_all_uint32(self): 4446 return self._make_helper_uint32().all() 4447 4448 def _read_all_uint64(self): 4449 return self._make_helper_uint64().all() 4450 4451 def _read_all_sint8(self): 4452 return self._make_helper_sint8().all() 4453 4454 def _read_all_sint16(self): 4455 return self._make_helper_sint16().all() 4456 4457 def _read_all_sint32(self): 4458 return self._make_helper_sint32().all() 4459 4460 def _read_all_sint64(self): 4461 return self._make_helper_sint64().all() 4462 4463 def _read_all_float(self): 4464 return self._make_helper_float().all() 4465 4466 def _read_all_double(self): 4467 return self._make_helper_double().all() 4468 4469 uint8 = property(_make_helper_uint8, None, doc='''A read only property that returns an array-like object out of which you can read uint8 values.''') 4470 uint16 = property(_make_helper_uint16, None, doc='''A read only property that returns an array-like object out of which you can read uint16 values.''') 4471 uint32 = property(_make_helper_uint32, None, doc='''A read only property that returns an array-like object out of which you can read uint32 values.''') 4472 uint64 = property(_make_helper_uint64, None, doc='''A read only property that returns an array-like object out of which you can read uint64 values.''') 4473 sint8 = property(_make_helper_sint8, None, doc='''A read only property that returns an array-like object out of which you can read sint8 values.''') 4474 sint16 = property(_make_helper_sint16, None, doc='''A read only property that returns an array-like object out of which you can read sint16 values.''') 4475 sint32 = property(_make_helper_sint32, None, doc='''A read only property that returns an array-like object out of which you can read sint32 values.''') 4476 sint64 = property(_make_helper_sint64, None, doc='''A read only property that returns an array-like object out of which you can read sint64 values.''') 4477 float = property(_make_helper_float, None, doc='''A read only property that returns an array-like object out of which you can read float values.''') 4478 double = property(_make_helper_double, None, doc='''A read only property that returns an array-like object out of which you can read double values.''') 4479 uint8s = property(_read_all_uint8, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint8 values.''') 4480 uint16s = property(_read_all_uint16, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint16 values.''') 4481 uint32s = property(_read_all_uint32, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint32 values.''') 4482 uint64s = property(_read_all_uint64, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint64 values.''') 4483 sint8s = property(_read_all_sint8, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint8 values.''') 4484 sint16s = property(_read_all_sint16, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint16 values.''') 4485 sint32s = property(_read_all_sint32, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint32 values.''') 4486 sint64s = property(_read_all_sint64, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint64 values.''') 4487 floats = property(_read_all_float, None, doc='''A read only property that returns an array with all the contents of this SBData represented as float values.''') 4488 doubles = property(_read_all_double, None, doc='''A read only property that returns an array with all the contents of this SBData represented as double values.''') 4489 byte_order = property(GetByteOrder, SetByteOrder, doc='''A read/write property getting and setting the endianness of this SBData (data.byte_order = lldb.eByteOrderLittle).''') 4490 size = property(GetByteSize, None, doc='''A read only property that returns the size the same result as GetByteSize().''') 4491 4492 4493# Register SBData in _lldb: 4494_lldb.SBData_swigregister(SBData) 4495class SBDebugger(object): 4496 r""" 4497 SBDebugger is the primordial object that creates SBTargets and provides 4498 access to them. It also manages the overall debugging experiences. 4499 4500 For example (from example/disasm.py),:: 4501 4502 import lldb 4503 import os 4504 import sys 4505 4506 def disassemble_instructions (insts): 4507 for i in insts: 4508 print i 4509 4510 ... 4511 4512 # Create a new debugger instance 4513 debugger = lldb.SBDebugger.Create() 4514 4515 # When we step or continue, don't return from the function until the process 4516 # stops. We do this by setting the async mode to false. 4517 debugger.SetAsync (False) 4518 4519 # Create a target from a file and arch 4520 print('Creating a target for '%s'' % exe) 4521 4522 target = debugger.CreateTargetWithFileAndArch (exe, lldb.LLDB_ARCH_DEFAULT) 4523 4524 if target: 4525 # If the target is valid set a breakpoint at main 4526 main_bp = target.BreakpointCreateByName (fname, target.GetExecutable().GetFilename()); 4527 4528 print main_bp 4529 4530 # Launch the process. Since we specified synchronous mode, we won't return 4531 # from this function until we hit the breakpoint at main 4532 process = target.LaunchSimple (None, None, os.getcwd()) 4533 4534 # Make sure the launch went ok 4535 if process: 4536 # Print some simple process info 4537 state = process.GetState () 4538 print process 4539 if state == lldb.eStateStopped: 4540 # Get the first thread 4541 thread = process.GetThreadAtIndex (0) 4542 if thread: 4543 # Print some simple thread info 4544 print thread 4545 # Get the first frame 4546 frame = thread.GetFrameAtIndex (0) 4547 if frame: 4548 # Print some simple frame info 4549 print frame 4550 function = frame.GetFunction() 4551 # See if we have debug info (a function) 4552 if function: 4553 # We do have a function, print some info for the function 4554 print function 4555 # Now get all instructions for this function and print them 4556 insts = function.GetInstructions(target) 4557 disassemble_instructions (insts) 4558 else: 4559 # See if we have a symbol in the symbol table for where we stopped 4560 symbol = frame.GetSymbol(); 4561 if symbol: 4562 # We do have a symbol, print some info for the symbol 4563 print symbol 4564 # Now get all instructions for this symbol and print them 4565 insts = symbol.GetInstructions(target) 4566 disassemble_instructions (insts) 4567 4568 registerList = frame.GetRegisters() 4569 print('Frame registers (size of register set = %d):' % registerList.GetSize()) 4570 for value in registerList: 4571 #print value 4572 print('%s (number of children = %d):' % (value.GetName(), value.GetNumChildren())) 4573 for child in value: 4574 print('Name: ', child.GetName(), ' Value: ', child.GetValue()) 4575 4576 print('Hit the breakpoint at main, enter to continue and wait for program to exit or 'Ctrl-D'/'quit' to terminate the program') 4577 next = sys.stdin.readline() 4578 if not next or next.rstrip('\n') == 'quit': 4579 print('Terminating the inferior process...') 4580 process.Kill() 4581 else: 4582 # Now continue to the program exit 4583 process.Continue() 4584 # When we return from the above function we will hopefully be at the 4585 # program exit. Print out some process info 4586 print process 4587 elif state == lldb.eStateExited: 4588 print('Didn't hit the breakpoint at main, program has exited...') 4589 else: 4590 print('Unexpected process state: %s, killing process...' % debugger.StateAsCString (state)) 4591 process.Kill() 4592 4593 Sometimes you need to create an empty target that will get filled in later. The most common use for this 4594 is to attach to a process by name or pid where you don't know the executable up front. The most convenient way 4595 to do this is: :: 4596 4597 target = debugger.CreateTarget('') 4598 error = lldb.SBError() 4599 process = target.AttachToProcessWithName(debugger.GetListener(), 'PROCESS_NAME', False, error) 4600 4601 or the equivalent arguments for :py:class:`SBTarget.AttachToProcessWithID` . 4602 """ 4603 4604 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 4605 eBroadcastBitProgress = _lldb.SBDebugger_eBroadcastBitProgress 4606 4607 eBroadcastBitWarning = _lldb.SBDebugger_eBroadcastBitWarning 4608 4609 eBroadcastBitError = _lldb.SBDebugger_eBroadcastBitError 4610 4611 eBroadcastBitProgressCategory = _lldb.SBDebugger_eBroadcastBitProgressCategory 4612 4613 4614 def __init__(self, *args): 4615 r""" 4616 __init__(SBDebugger self) -> SBDebugger 4617 __init__(SBDebugger self, SBDebugger rhs) -> SBDebugger 4618 """ 4619 _lldb.SBDebugger_swiginit(self, _lldb.new_SBDebugger(*args)) 4620 __swig_destroy__ = _lldb.delete_SBDebugger 4621 4622 @staticmethod 4623 def GetBroadcasterClass(): 4624 r"""GetBroadcasterClass() -> char const *""" 4625 return _lldb.SBDebugger_GetBroadcasterClass() 4626 4627 @staticmethod 4628 def SupportsLanguage(language): 4629 r"""SupportsLanguage(lldb::LanguageType language) -> bool""" 4630 return _lldb.SBDebugger_SupportsLanguage(language) 4631 4632 def GetBroadcaster(self): 4633 r"""GetBroadcaster(SBDebugger self) -> SBBroadcaster""" 4634 return _lldb.SBDebugger_GetBroadcaster(self) 4635 4636 @staticmethod 4637 def GetProgressFromEvent(event): 4638 r"""GetProgressFromEvent(SBEvent event) -> char const *""" 4639 return _lldb.SBDebugger_GetProgressFromEvent(event) 4640 4641 @staticmethod 4642 def GetProgressDataFromEvent(event): 4643 r"""GetProgressDataFromEvent(SBEvent event) -> SBStructuredData""" 4644 return _lldb.SBDebugger_GetProgressDataFromEvent(event) 4645 4646 @staticmethod 4647 def GetDiagnosticFromEvent(event): 4648 r"""GetDiagnosticFromEvent(SBEvent event) -> SBStructuredData""" 4649 return _lldb.SBDebugger_GetDiagnosticFromEvent(event) 4650 4651 @staticmethod 4652 def Initialize(): 4653 r"""Initialize()""" 4654 return _lldb.SBDebugger_Initialize() 4655 4656 @staticmethod 4657 def InitializeWithErrorHandling(): 4658 r"""InitializeWithErrorHandling() -> SBError""" 4659 return _lldb.SBDebugger_InitializeWithErrorHandling() 4660 4661 @staticmethod 4662 def PrintStackTraceOnError(): 4663 r"""PrintStackTraceOnError()""" 4664 return _lldb.SBDebugger_PrintStackTraceOnError() 4665 4666 @staticmethod 4667 def PrintDiagnosticsOnError(): 4668 r"""PrintDiagnosticsOnError()""" 4669 return _lldb.SBDebugger_PrintDiagnosticsOnError() 4670 4671 @staticmethod 4672 def Terminate(): 4673 r"""Terminate()""" 4674 return _lldb.SBDebugger_Terminate() 4675 4676 @staticmethod 4677 def Create(*args): 4678 r""" 4679 Create() -> SBDebugger 4680 Create(bool source_init_files) -> SBDebugger 4681 Create(bool source_init_files, lldb::LogOutputCallback log_callback) -> SBDebugger 4682 """ 4683 return _lldb.SBDebugger_Create(*args) 4684 4685 @staticmethod 4686 def Destroy(debugger): 4687 r"""Destroy(SBDebugger debugger)""" 4688 return _lldb.SBDebugger_Destroy(debugger) 4689 4690 @staticmethod 4691 def MemoryPressureDetected(): 4692 r"""MemoryPressureDetected()""" 4693 return _lldb.SBDebugger_MemoryPressureDetected() 4694 4695 def __nonzero__(self): 4696 return _lldb.SBDebugger___nonzero__(self) 4697 __bool__ = __nonzero__ 4698 4699 4700 4701 def IsValid(self): 4702 r"""IsValid(SBDebugger self) -> bool""" 4703 return _lldb.SBDebugger_IsValid(self) 4704 4705 def Clear(self): 4706 r"""Clear(SBDebugger self)""" 4707 return _lldb.SBDebugger_Clear(self) 4708 4709 def GetSetting(self, setting=None): 4710 r"""GetSetting(SBDebugger self, char const * setting=None) -> SBStructuredData""" 4711 return _lldb.SBDebugger_GetSetting(self, setting) 4712 4713 def SetAsync(self, b): 4714 r"""SetAsync(SBDebugger self, bool b)""" 4715 return _lldb.SBDebugger_SetAsync(self, b) 4716 4717 def GetAsync(self): 4718 r"""GetAsync(SBDebugger self) -> bool""" 4719 return _lldb.SBDebugger_GetAsync(self) 4720 4721 def SkipLLDBInitFiles(self, b): 4722 r"""SkipLLDBInitFiles(SBDebugger self, bool b)""" 4723 return _lldb.SBDebugger_SkipLLDBInitFiles(self, b) 4724 4725 def SkipAppInitFiles(self, b): 4726 r"""SkipAppInitFiles(SBDebugger self, bool b)""" 4727 return _lldb.SBDebugger_SkipAppInitFiles(self, b) 4728 4729 def SetInputString(self, data): 4730 r"""SetInputString(SBDebugger self, char const * data) -> SBError""" 4731 return _lldb.SBDebugger_SetInputString(self, data) 4732 4733 def SetInputFile(self, *args): 4734 r""" 4735 SetInputFile(SBDebugger self, SBFile file) -> SBError 4736 SetInputFile(SBDebugger self, lldb::FileSP file) -> SBError 4737 """ 4738 return _lldb.SBDebugger_SetInputFile(self, *args) 4739 4740 def SetOutputFile(self, *args): 4741 r""" 4742 SetOutputFile(SBDebugger self, SBFile file) -> SBError 4743 SetOutputFile(SBDebugger self, lldb::FileSP file) -> SBError 4744 """ 4745 return _lldb.SBDebugger_SetOutputFile(self, *args) 4746 4747 def SetErrorFile(self, *args): 4748 r""" 4749 SetErrorFile(SBDebugger self, SBFile file) -> SBError 4750 SetErrorFile(SBDebugger self, lldb::FileSP file) -> SBError 4751 """ 4752 return _lldb.SBDebugger_SetErrorFile(self, *args) 4753 4754 def GetInputFile(self): 4755 r"""GetInputFile(SBDebugger self) -> SBFile""" 4756 return _lldb.SBDebugger_GetInputFile(self) 4757 4758 def GetOutputFile(self): 4759 r"""GetOutputFile(SBDebugger self) -> SBFile""" 4760 return _lldb.SBDebugger_GetOutputFile(self) 4761 4762 def GetErrorFile(self): 4763 r"""GetErrorFile(SBDebugger self) -> SBFile""" 4764 return _lldb.SBDebugger_GetErrorFile(self) 4765 4766 def SaveInputTerminalState(self): 4767 r"""SaveInputTerminalState(SBDebugger self)""" 4768 return _lldb.SBDebugger_SaveInputTerminalState(self) 4769 4770 def RestoreInputTerminalState(self): 4771 r"""RestoreInputTerminalState(SBDebugger self)""" 4772 return _lldb.SBDebugger_RestoreInputTerminalState(self) 4773 4774 def GetCommandInterpreter(self): 4775 r"""GetCommandInterpreter(SBDebugger self) -> SBCommandInterpreter""" 4776 return _lldb.SBDebugger_GetCommandInterpreter(self) 4777 4778 def HandleCommand(self, command): 4779 r"""HandleCommand(SBDebugger self, char const * command)""" 4780 return _lldb.SBDebugger_HandleCommand(self, command) 4781 4782 def RequestInterrupt(self): 4783 r"""RequestInterrupt(SBDebugger self)""" 4784 return _lldb.SBDebugger_RequestInterrupt(self) 4785 4786 def CancelInterruptRequest(self): 4787 r"""CancelInterruptRequest(SBDebugger self)""" 4788 return _lldb.SBDebugger_CancelInterruptRequest(self) 4789 4790 def InterruptRequested(self): 4791 r"""InterruptRequested(SBDebugger self) -> bool""" 4792 return _lldb.SBDebugger_InterruptRequested(self) 4793 4794 def GetListener(self): 4795 r"""GetListener(SBDebugger self) -> SBListener""" 4796 return _lldb.SBDebugger_GetListener(self) 4797 4798 def HandleProcessEvent(self, *args): 4799 r""" 4800 HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, SBFile out, SBFile err) 4801 HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, lldb::FileSP arg4, lldb::FileSP arg5) 4802 """ 4803 return _lldb.SBDebugger_HandleProcessEvent(self, *args) 4804 4805 def CreateTargetWithFileAndTargetTriple(self, filename, target_triple): 4806 r"""CreateTargetWithFileAndTargetTriple(SBDebugger self, char const * filename, char const * target_triple) -> SBTarget""" 4807 return _lldb.SBDebugger_CreateTargetWithFileAndTargetTriple(self, filename, target_triple) 4808 4809 def CreateTargetWithFileAndArch(self, filename, archname): 4810 r"""CreateTargetWithFileAndArch(SBDebugger self, char const * filename, char const * archname) -> SBTarget""" 4811 return _lldb.SBDebugger_CreateTargetWithFileAndArch(self, filename, archname) 4812 4813 def CreateTarget(self, *args): 4814 r""" 4815 CreateTarget(SBDebugger self, char const * filename, char const * target_triple, char const * platform_name, bool add_dependent_modules, SBError error) -> SBTarget 4816 CreateTarget(SBDebugger self, char const * filename) -> SBTarget 4817 """ 4818 return _lldb.SBDebugger_CreateTarget(self, *args) 4819 4820 def GetDummyTarget(self): 4821 r""" 4822 GetDummyTarget(SBDebugger self) -> SBTarget 4823 The dummy target holds breakpoints and breakpoint names that will prime newly created targets. 4824 """ 4825 return _lldb.SBDebugger_GetDummyTarget(self) 4826 4827 def DeleteTarget(self, target): 4828 r""" 4829 DeleteTarget(SBDebugger self, SBTarget target) -> bool 4830 Return true if target is deleted from the target list of the debugger. 4831 """ 4832 return _lldb.SBDebugger_DeleteTarget(self, target) 4833 4834 def GetTargetAtIndex(self, idx): 4835 r"""GetTargetAtIndex(SBDebugger self, uint32_t idx) -> SBTarget""" 4836 return _lldb.SBDebugger_GetTargetAtIndex(self, idx) 4837 4838 def GetIndexOfTarget(self, target): 4839 r"""GetIndexOfTarget(SBDebugger self, SBTarget target) -> uint32_t""" 4840 return _lldb.SBDebugger_GetIndexOfTarget(self, target) 4841 4842 def FindTargetWithProcessID(self, pid): 4843 r"""FindTargetWithProcessID(SBDebugger self, lldb::pid_t pid) -> SBTarget""" 4844 return _lldb.SBDebugger_FindTargetWithProcessID(self, pid) 4845 4846 def FindTargetWithFileAndArch(self, filename, arch): 4847 r"""FindTargetWithFileAndArch(SBDebugger self, char const * filename, char const * arch) -> SBTarget""" 4848 return _lldb.SBDebugger_FindTargetWithFileAndArch(self, filename, arch) 4849 4850 def GetNumTargets(self): 4851 r"""GetNumTargets(SBDebugger self) -> uint32_t""" 4852 return _lldb.SBDebugger_GetNumTargets(self) 4853 4854 def GetSelectedTarget(self): 4855 r"""GetSelectedTarget(SBDebugger self) -> SBTarget""" 4856 return _lldb.SBDebugger_GetSelectedTarget(self) 4857 4858 def SetSelectedTarget(self, target): 4859 r"""SetSelectedTarget(SBDebugger self, SBTarget target)""" 4860 return _lldb.SBDebugger_SetSelectedTarget(self, target) 4861 4862 def GetSelectedPlatform(self): 4863 r"""GetSelectedPlatform(SBDebugger self) -> SBPlatform""" 4864 return _lldb.SBDebugger_GetSelectedPlatform(self) 4865 4866 def SetSelectedPlatform(self, platform): 4867 r"""SetSelectedPlatform(SBDebugger self, SBPlatform platform)""" 4868 return _lldb.SBDebugger_SetSelectedPlatform(self, platform) 4869 4870 def GetNumPlatforms(self): 4871 r""" 4872 GetNumPlatforms(SBDebugger self) -> uint32_t 4873 Get the number of currently active platforms. 4874 """ 4875 return _lldb.SBDebugger_GetNumPlatforms(self) 4876 4877 def GetPlatformAtIndex(self, idx): 4878 r""" 4879 GetPlatformAtIndex(SBDebugger self, uint32_t idx) -> SBPlatform 4880 Get one of the currently active platforms. 4881 """ 4882 return _lldb.SBDebugger_GetPlatformAtIndex(self, idx) 4883 4884 def GetNumAvailablePlatforms(self): 4885 r""" 4886 GetNumAvailablePlatforms(SBDebugger self) -> uint32_t 4887 Get the number of available platforms. 4888 """ 4889 return _lldb.SBDebugger_GetNumAvailablePlatforms(self) 4890 4891 def GetAvailablePlatformInfoAtIndex(self, idx): 4892 r""" 4893 GetAvailablePlatformInfoAtIndex(SBDebugger self, uint32_t idx) -> SBStructuredData 4894 4895 Get the name and description of one of the available platforms. 4896 4897 @param idx Zero-based index of the platform for which info should be 4898 retrieved, must be less than the value returned by 4899 GetNumAvailablePlatforms(). 4900 """ 4901 return _lldb.SBDebugger_GetAvailablePlatformInfoAtIndex(self, idx) 4902 4903 def GetSourceManager(self): 4904 r"""GetSourceManager(SBDebugger self) -> SBSourceManager""" 4905 return _lldb.SBDebugger_GetSourceManager(self) 4906 4907 def SetCurrentPlatform(self, platform_name): 4908 r"""SetCurrentPlatform(SBDebugger self, char const * platform_name) -> SBError""" 4909 return _lldb.SBDebugger_SetCurrentPlatform(self, platform_name) 4910 4911 def SetCurrentPlatformSDKRoot(self, sysroot): 4912 r"""SetCurrentPlatformSDKRoot(SBDebugger self, char const * sysroot) -> bool""" 4913 return _lldb.SBDebugger_SetCurrentPlatformSDKRoot(self, sysroot) 4914 4915 def SetUseExternalEditor(self, input): 4916 r"""SetUseExternalEditor(SBDebugger self, bool input) -> bool""" 4917 return _lldb.SBDebugger_SetUseExternalEditor(self, input) 4918 4919 def GetUseExternalEditor(self): 4920 r"""GetUseExternalEditor(SBDebugger self) -> bool""" 4921 return _lldb.SBDebugger_GetUseExternalEditor(self) 4922 4923 def SetUseColor(self, use_color): 4924 r"""SetUseColor(SBDebugger self, bool use_color) -> bool""" 4925 return _lldb.SBDebugger_SetUseColor(self, use_color) 4926 4927 def GetUseColor(self): 4928 r"""GetUseColor(SBDebugger self) -> bool""" 4929 return _lldb.SBDebugger_GetUseColor(self) 4930 4931 def SetUseSourceCache(self, use_source_cache): 4932 r"""SetUseSourceCache(SBDebugger self, bool use_source_cache) -> bool""" 4933 return _lldb.SBDebugger_SetUseSourceCache(self, use_source_cache) 4934 4935 def GetUseSourceCache(self): 4936 r"""GetUseSourceCache(SBDebugger self) -> bool""" 4937 return _lldb.SBDebugger_GetUseSourceCache(self) 4938 4939 @staticmethod 4940 def GetDefaultArchitecture(arch_name, arch_name_len): 4941 r"""GetDefaultArchitecture(char * arch_name, size_t arch_name_len) -> bool""" 4942 return _lldb.SBDebugger_GetDefaultArchitecture(arch_name, arch_name_len) 4943 4944 @staticmethod 4945 def SetDefaultArchitecture(arch_name): 4946 r"""SetDefaultArchitecture(char const * arch_name) -> bool""" 4947 return _lldb.SBDebugger_SetDefaultArchitecture(arch_name) 4948 4949 def GetScriptingLanguage(self, script_language_name): 4950 r"""GetScriptingLanguage(SBDebugger self, char const * script_language_name) -> lldb::ScriptLanguage""" 4951 return _lldb.SBDebugger_GetScriptingLanguage(self, script_language_name) 4952 4953 def GetScriptInterpreterInfo(self, arg2): 4954 r"""GetScriptInterpreterInfo(SBDebugger self, lldb::ScriptLanguage arg2) -> SBStructuredData""" 4955 return _lldb.SBDebugger_GetScriptInterpreterInfo(self, arg2) 4956 4957 @staticmethod 4958 def GetVersionString(): 4959 r"""GetVersionString() -> char const *""" 4960 return _lldb.SBDebugger_GetVersionString() 4961 4962 @staticmethod 4963 def StateAsCString(state): 4964 r"""StateAsCString(lldb::StateType state) -> char const *""" 4965 return _lldb.SBDebugger_StateAsCString(state) 4966 4967 @staticmethod 4968 def GetBuildConfiguration(): 4969 r"""GetBuildConfiguration() -> SBStructuredData""" 4970 return _lldb.SBDebugger_GetBuildConfiguration() 4971 4972 @staticmethod 4973 def StateIsRunningState(state): 4974 r"""StateIsRunningState(lldb::StateType state) -> bool""" 4975 return _lldb.SBDebugger_StateIsRunningState(state) 4976 4977 @staticmethod 4978 def StateIsStoppedState(state): 4979 r"""StateIsStoppedState(lldb::StateType state) -> bool""" 4980 return _lldb.SBDebugger_StateIsStoppedState(state) 4981 4982 def EnableLog(self, channel, categories): 4983 r"""EnableLog(SBDebugger self, char const * channel, char const ** categories) -> bool""" 4984 return _lldb.SBDebugger_EnableLog(self, channel, categories) 4985 4986 def SetLoggingCallback(self, log_callback): 4987 r"""SetLoggingCallback(SBDebugger self, lldb::LogOutputCallback log_callback)""" 4988 return _lldb.SBDebugger_SetLoggingCallback(self, log_callback) 4989 4990 def SetDestroyCallback(self, destroy_callback): 4991 r"""SetDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback)""" 4992 return _lldb.SBDebugger_SetDestroyCallback(self, destroy_callback) 4993 4994 def AddDestroyCallback(self, destroy_callback): 4995 r"""AddDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback) -> lldb::callback_token_t""" 4996 return _lldb.SBDebugger_AddDestroyCallback(self, destroy_callback) 4997 4998 def RemoveDestroyCallback(self, token): 4999 r"""RemoveDestroyCallback(SBDebugger self, lldb::callback_token_t token) -> bool""" 5000 return _lldb.SBDebugger_RemoveDestroyCallback(self, token) 5001 5002 def DispatchInput(self, data): 5003 r"""DispatchInput(SBDebugger self, void const * data)""" 5004 return _lldb.SBDebugger_DispatchInput(self, data) 5005 5006 def DispatchInputInterrupt(self): 5007 r"""DispatchInputInterrupt(SBDebugger self)""" 5008 return _lldb.SBDebugger_DispatchInputInterrupt(self) 5009 5010 def DispatchInputEndOfFile(self): 5011 r"""DispatchInputEndOfFile(SBDebugger self)""" 5012 return _lldb.SBDebugger_DispatchInputEndOfFile(self) 5013 5014 def GetInstanceName(self): 5015 r"""GetInstanceName(SBDebugger self) -> char const *""" 5016 return _lldb.SBDebugger_GetInstanceName(self) 5017 5018 @staticmethod 5019 def FindDebuggerWithID(id): 5020 r"""FindDebuggerWithID(int id) -> SBDebugger""" 5021 return _lldb.SBDebugger_FindDebuggerWithID(id) 5022 5023 @staticmethod 5024 def SetInternalVariable(var_name, value, debugger_instance_name): 5025 r"""SetInternalVariable(char const * var_name, char const * value, char const * debugger_instance_name) -> SBError""" 5026 return _lldb.SBDebugger_SetInternalVariable(var_name, value, debugger_instance_name) 5027 5028 @staticmethod 5029 def GetInternalVariableValue(var_name, debugger_instance_name): 5030 r"""GetInternalVariableValue(char const * var_name, char const * debugger_instance_name) -> SBStringList""" 5031 return _lldb.SBDebugger_GetInternalVariableValue(var_name, debugger_instance_name) 5032 5033 def GetDescription(self, description): 5034 r"""GetDescription(SBDebugger self, SBStream description) -> bool""" 5035 return _lldb.SBDebugger_GetDescription(self, description) 5036 5037 def GetTerminalWidth(self): 5038 r"""GetTerminalWidth(SBDebugger self) -> uint32_t""" 5039 return _lldb.SBDebugger_GetTerminalWidth(self) 5040 5041 def SetTerminalWidth(self, term_width): 5042 r"""SetTerminalWidth(SBDebugger self, uint32_t term_width)""" 5043 return _lldb.SBDebugger_SetTerminalWidth(self, term_width) 5044 5045 def GetID(self): 5046 r"""GetID(SBDebugger self) -> lldb::user_id_t""" 5047 return _lldb.SBDebugger_GetID(self) 5048 5049 def GetPrompt(self): 5050 r"""GetPrompt(SBDebugger self) -> char const *""" 5051 return _lldb.SBDebugger_GetPrompt(self) 5052 5053 def SetPrompt(self, prompt): 5054 r"""SetPrompt(SBDebugger self, char const * prompt)""" 5055 return _lldb.SBDebugger_SetPrompt(self, prompt) 5056 5057 def GetReproducerPath(self): 5058 r"""GetReproducerPath(SBDebugger self) -> char const *""" 5059 return _lldb.SBDebugger_GetReproducerPath(self) 5060 5061 def GetScriptLanguage(self): 5062 r"""GetScriptLanguage(SBDebugger self) -> lldb::ScriptLanguage""" 5063 return _lldb.SBDebugger_GetScriptLanguage(self) 5064 5065 def SetScriptLanguage(self, script_lang): 5066 r"""SetScriptLanguage(SBDebugger self, lldb::ScriptLanguage script_lang)""" 5067 return _lldb.SBDebugger_SetScriptLanguage(self, script_lang) 5068 5069 def GetREPLLanguage(self): 5070 r"""GetREPLLanguage(SBDebugger self) -> lldb::LanguageType""" 5071 return _lldb.SBDebugger_GetREPLLanguage(self) 5072 5073 def SetREPLLanguage(self, repl_lang): 5074 r"""SetREPLLanguage(SBDebugger self, lldb::LanguageType repl_lang)""" 5075 return _lldb.SBDebugger_SetREPLLanguage(self, repl_lang) 5076 5077 def GetCloseInputOnEOF(self): 5078 r"""GetCloseInputOnEOF(SBDebugger self) -> bool""" 5079 return _lldb.SBDebugger_GetCloseInputOnEOF(self) 5080 5081 def SetCloseInputOnEOF(self, b): 5082 r"""SetCloseInputOnEOF(SBDebugger self, bool b)""" 5083 return _lldb.SBDebugger_SetCloseInputOnEOF(self, b) 5084 5085 def GetCategory(self, *args): 5086 r""" 5087 GetCategory(SBDebugger self, char const * category_name) -> SBTypeCategory 5088 GetCategory(SBDebugger self, lldb::LanguageType lang_type) -> SBTypeCategory 5089 """ 5090 return _lldb.SBDebugger_GetCategory(self, *args) 5091 5092 def CreateCategory(self, category_name): 5093 r"""CreateCategory(SBDebugger self, char const * category_name) -> SBTypeCategory""" 5094 return _lldb.SBDebugger_CreateCategory(self, category_name) 5095 5096 def DeleteCategory(self, category_name): 5097 r"""DeleteCategory(SBDebugger self, char const * category_name) -> bool""" 5098 return _lldb.SBDebugger_DeleteCategory(self, category_name) 5099 5100 def GetNumCategories(self): 5101 r"""GetNumCategories(SBDebugger self) -> uint32_t""" 5102 return _lldb.SBDebugger_GetNumCategories(self) 5103 5104 def GetCategoryAtIndex(self, arg2): 5105 r"""GetCategoryAtIndex(SBDebugger self, uint32_t arg2) -> SBTypeCategory""" 5106 return _lldb.SBDebugger_GetCategoryAtIndex(self, arg2) 5107 5108 def GetDefaultCategory(self): 5109 r"""GetDefaultCategory(SBDebugger self) -> SBTypeCategory""" 5110 return _lldb.SBDebugger_GetDefaultCategory(self) 5111 5112 def GetFormatForType(self, arg2): 5113 r"""GetFormatForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFormat""" 5114 return _lldb.SBDebugger_GetFormatForType(self, arg2) 5115 5116 def GetSummaryForType(self, arg2): 5117 r"""GetSummaryForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSummary""" 5118 return _lldb.SBDebugger_GetSummaryForType(self, arg2) 5119 5120 def GetFilterForType(self, arg2): 5121 r"""GetFilterForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFilter""" 5122 return _lldb.SBDebugger_GetFilterForType(self, arg2) 5123 5124 def GetSyntheticForType(self, arg2): 5125 r"""GetSyntheticForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic""" 5126 return _lldb.SBDebugger_GetSyntheticForType(self, arg2) 5127 5128 def RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash): 5129 r""" 5130 RunCommandInterpreter(SBDebugger self, bool auto_handle_events, bool spawn_thread, SBCommandInterpreterRunOptions options, int & num_errors, bool & quit_requested, bool & stopped_for_crash) 5131 Launch a command interpreter session. Commands are read from standard input or 5132 from the input handle specified for the debugger object. Output/errors are 5133 similarly redirected to standard output/error or the configured handles. 5134 5135 @param[in] auto_handle_events If true, automatically handle resulting events. 5136 @param[in] spawn_thread If true, start a new thread for IO handling. 5137 @param[in] options Parameter collection of type SBCommandInterpreterRunOptions. 5138 @param[in] num_errors Initial error counter. 5139 @param[in] quit_requested Initial quit request flag. 5140 @param[in] stopped_for_crash Initial crash flag. 5141 5142 @return 5143 A tuple with the number of errors encountered by the interpreter, a boolean 5144 indicating whether quitting the interpreter was requested and another boolean 5145 set to True in case of a crash. 5146 5147 Example: :: 5148 5149 # Start an interactive lldb session from a script (with a valid debugger object 5150 # created beforehand): 5151 n_errors, quit_requested, has_crashed = debugger.RunCommandInterpreter(True, 5152 False, lldb.SBCommandInterpreterRunOptions(), 0, False, False) 5153 """ 5154 return _lldb.SBDebugger_RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash) 5155 5156 def RunREPL(self, language, repl_options): 5157 r"""RunREPL(SBDebugger self, lldb::LanguageType language, char const * repl_options) -> SBError""" 5158 return _lldb.SBDebugger_RunREPL(self, language, repl_options) 5159 5160 def LoadTraceFromFile(self, error, trace_description_file): 5161 r"""LoadTraceFromFile(SBDebugger self, SBError error, SBFileSpec trace_description_file) -> SBTrace""" 5162 return _lldb.SBDebugger_LoadTraceFromFile(self, error, trace_description_file) 5163 5164 def __repr__(self): 5165 r"""__repr__(SBDebugger self) -> std::string""" 5166 return _lldb.SBDebugger___repr__(self) 5167 5168 def SetOutputFileHandle(self, file, transfer_ownership): 5169 "DEPRECATED, use SetOutputFile" 5170 if file is None: 5171 import sys 5172 file = sys.stdout 5173 self.SetOutputFile(SBFile.Create(file, borrow=True)) 5174 5175 def SetInputFileHandle(self, file, transfer_ownership): 5176 "DEPRECATED, use SetInputFile" 5177 if file is None: 5178 import sys 5179 file = sys.stdin 5180 self.SetInputFile(SBFile.Create(file, borrow=True)) 5181 5182 def SetErrorFileHandle(self, file, transfer_ownership): 5183 "DEPRECATED, use SetErrorFile" 5184 if file is None: 5185 import sys 5186 file = sys.stderr 5187 self.SetErrorFile(SBFile.Create(file, borrow=True)) 5188 5189 def __iter__(self): 5190 '''Iterate over all targets in a lldb.SBDebugger object.''' 5191 return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex') 5192 5193 def __len__(self): 5194 '''Return the number of targets in a lldb.SBDebugger object.''' 5195 return self.GetNumTargets() 5196 5197 5198 def GetInputFileHandle(self): 5199 r"""GetInputFileHandle(SBDebugger self) -> lldb::FileSP""" 5200 return _lldb.SBDebugger_GetInputFileHandle(self) 5201 5202 def GetOutputFileHandle(self): 5203 r"""GetOutputFileHandle(SBDebugger self) -> lldb::FileSP""" 5204 return _lldb.SBDebugger_GetOutputFileHandle(self) 5205 5206 def GetErrorFileHandle(self): 5207 r"""GetErrorFileHandle(SBDebugger self) -> lldb::FileSP""" 5208 return _lldb.SBDebugger_GetErrorFileHandle(self) 5209 5210# Register SBDebugger in _lldb: 5211_lldb.SBDebugger_swigregister(SBDebugger) 5212class SBDeclaration(object): 5213 r"""Specifies an association with a line and column for a variable.""" 5214 5215 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5216 5217 def __init__(self, *args): 5218 r""" 5219 __init__(SBDeclaration self) -> SBDeclaration 5220 __init__(SBDeclaration self, SBDeclaration rhs) -> SBDeclaration 5221 """ 5222 _lldb.SBDeclaration_swiginit(self, _lldb.new_SBDeclaration(*args)) 5223 __swig_destroy__ = _lldb.delete_SBDeclaration 5224 5225 def __nonzero__(self): 5226 return _lldb.SBDeclaration___nonzero__(self) 5227 __bool__ = __nonzero__ 5228 5229 5230 5231 def IsValid(self): 5232 r"""IsValid(SBDeclaration self) -> bool""" 5233 return _lldb.SBDeclaration_IsValid(self) 5234 5235 def GetFileSpec(self): 5236 r"""GetFileSpec(SBDeclaration self) -> SBFileSpec""" 5237 return _lldb.SBDeclaration_GetFileSpec(self) 5238 5239 def GetLine(self): 5240 r"""GetLine(SBDeclaration self) -> uint32_t""" 5241 return _lldb.SBDeclaration_GetLine(self) 5242 5243 def GetColumn(self): 5244 r"""GetColumn(SBDeclaration self) -> uint32_t""" 5245 return _lldb.SBDeclaration_GetColumn(self) 5246 5247 def SetFileSpec(self, filespec): 5248 r"""SetFileSpec(SBDeclaration self, SBFileSpec filespec)""" 5249 return _lldb.SBDeclaration_SetFileSpec(self, filespec) 5250 5251 def SetLine(self, line): 5252 r"""SetLine(SBDeclaration self, uint32_t line)""" 5253 return _lldb.SBDeclaration_SetLine(self, line) 5254 5255 def SetColumn(self, column): 5256 r"""SetColumn(SBDeclaration self, uint32_t column)""" 5257 return _lldb.SBDeclaration_SetColumn(self, column) 5258 5259 def __eq__(self, rhs): 5260 r"""__eq__(SBDeclaration self, SBDeclaration rhs) -> bool""" 5261 return _lldb.SBDeclaration___eq__(self, rhs) 5262 5263 def __ne__(self, rhs): 5264 r"""__ne__(SBDeclaration self, SBDeclaration rhs) -> bool""" 5265 return _lldb.SBDeclaration___ne__(self, rhs) 5266 5267 def GetDescription(self, description): 5268 r"""GetDescription(SBDeclaration self, SBStream description) -> bool""" 5269 return _lldb.SBDeclaration_GetDescription(self, description) 5270 5271 def __repr__(self): 5272 r"""__repr__(SBDeclaration self) -> std::string""" 5273 return _lldb.SBDeclaration___repr__(self) 5274 5275 # operator== is a free function, which swig does not handle, so we inject 5276 # our own equality operator here 5277 def __eq__(self, other): 5278 return not self.__ne__(other) 5279 5280 file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''') 5281 line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''') 5282 column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''') 5283 5284 5285 def __eq__(self, rhs): 5286 if not isinstance(rhs, type(self)): 5287 return False 5288 5289 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 5290 5291 def __ne__(self, rhs): 5292 if not isinstance(rhs, type(self)): 5293 return True 5294 5295 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 5296 5297 5298# Register SBDeclaration in _lldb: 5299_lldb.SBDeclaration_swigregister(SBDeclaration) 5300class SBError(object): 5301 r""" 5302 Represents a container for holding any error code. 5303 5304 For example (from test/python_api/hello_world/TestHelloWorld.py), :: 5305 5306 def hello_world_attach_with_id_api(self): 5307 '''Create target, spawn a process, and attach to it by id.''' 5308 5309 target = self.dbg.CreateTarget(self.exe) 5310 5311 # Spawn a new process and don't display the stdout if not in TraceOn() mode. 5312 import subprocess 5313 popen = subprocess.Popen([self.exe, 'abc', 'xyz'], 5314 stdout = open(os.devnull, 'w') if not self.TraceOn() else None) 5315 5316 listener = lldb.SBListener('my.attach.listener') 5317 error = lldb.SBError() 5318 process = target.AttachToProcessWithID(listener, popen.pid, error) 5319 5320 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5321 5322 # Let's check the stack traces of the attached process. 5323 import lldbutil 5324 stacktraces = lldbutil.print_stacktraces(process, string_buffer=True) 5325 self.expect(stacktraces, exe=False, 5326 substrs = ['main.c:%d' % self.line2, 5327 '(int)argc=3']) 5328 5329 listener = lldb.SBListener('my.attach.listener') 5330 error = lldb.SBError() 5331 process = target.AttachToProcessWithID(listener, popen.pid, error) 5332 5333 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5334 5335 checks that after the attach, there is no error condition by asserting 5336 that error.Success() is True and we get back a valid process object. 5337 5338 And (from test/python_api/event/TestEvent.py), :: 5339 5340 # Now launch the process, and do not stop at entry point. 5341 error = lldb.SBError() 5342 process = target.Launch(listener, None, None, None, None, None, None, 0, False, error) 5343 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5344 5345 checks that after calling the target.Launch() method there's no error 5346 condition and we get back a void process object. 5347 """ 5348 5349 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5350 5351 def __init__(self, *args): 5352 r""" 5353 __init__(SBError self) -> SBError 5354 __init__(SBError self, SBError rhs) -> SBError 5355 __init__(SBError self, char const * message) -> SBError 5356 """ 5357 _lldb.SBError_swiginit(self, _lldb.new_SBError(*args)) 5358 __swig_destroy__ = _lldb.delete_SBError 5359 5360 def GetCString(self): 5361 r"""GetCString(SBError self) -> char const *""" 5362 return _lldb.SBError_GetCString(self) 5363 5364 def Clear(self): 5365 r"""Clear(SBError self)""" 5366 return _lldb.SBError_Clear(self) 5367 5368 def Fail(self): 5369 r"""Fail(SBError self) -> bool""" 5370 return _lldb.SBError_Fail(self) 5371 5372 def Success(self): 5373 r"""Success(SBError self) -> bool""" 5374 return _lldb.SBError_Success(self) 5375 5376 def GetError(self): 5377 r"""GetError(SBError self) -> uint32_t""" 5378 return _lldb.SBError_GetError(self) 5379 5380 def GetType(self): 5381 r"""GetType(SBError self) -> lldb::ErrorType""" 5382 return _lldb.SBError_GetType(self) 5383 5384 def SetError(self, err, type): 5385 r"""SetError(SBError self, uint32_t err, lldb::ErrorType type)""" 5386 return _lldb.SBError_SetError(self, err, type) 5387 5388 def SetErrorToErrno(self): 5389 r"""SetErrorToErrno(SBError self)""" 5390 return _lldb.SBError_SetErrorToErrno(self) 5391 5392 def SetErrorToGenericError(self): 5393 r"""SetErrorToGenericError(SBError self)""" 5394 return _lldb.SBError_SetErrorToGenericError(self) 5395 5396 def SetErrorString(self, err_str): 5397 r"""SetErrorString(SBError self, char const * err_str)""" 5398 return _lldb.SBError_SetErrorString(self, err_str) 5399 5400 def SetErrorStringWithFormat(self, format, str1=None, str2=None, str3=None): 5401 r"""SetErrorStringWithFormat(SBError self, char const * format, char * str1=None, char * str2=None, char * str3=None) -> int""" 5402 return _lldb.SBError_SetErrorStringWithFormat(self, format, str1, str2, str3) 5403 5404 def __nonzero__(self): 5405 return _lldb.SBError___nonzero__(self) 5406 __bool__ = __nonzero__ 5407 5408 5409 5410 def IsValid(self): 5411 r"""IsValid(SBError self) -> bool""" 5412 return _lldb.SBError_IsValid(self) 5413 5414 def GetDescription(self, description): 5415 r"""GetDescription(SBError self, SBStream description) -> bool""" 5416 return _lldb.SBError_GetDescription(self, description) 5417 5418 def __repr__(self): 5419 r"""__repr__(SBError self) -> std::string""" 5420 return _lldb.SBError___repr__(self) 5421 5422 def __int__(self): 5423 return self.GetError() 5424 5425 value = property(GetError, None, doc='''A read only property that returns the same result as GetError().''') 5426 fail = property(Fail, None, doc='''A read only property that returns the same result as Fail().''') 5427 success = property(Success, None, doc='''A read only property that returns the same result as Success().''') 5428 description = property(GetCString, None, doc='''A read only property that returns the same result as GetCString().''') 5429 type = property(GetType, None, doc='''A read only property that returns the same result as GetType().''') 5430 5431 5432# Register SBError in _lldb: 5433_lldb.SBError_swigregister(SBError) 5434class SBEnvironment(object): 5435 r""" 5436 Represents the environment of a certain process. 5437 5438 Example: :: 5439 5440 for entry in lldb.debugger.GetSelectedTarget().GetEnvironment().GetEntries(): 5441 print(entry) 5442 5443 5444 """ 5445 5446 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5447 __repr__ = _swig_repr 5448 5449 def __init__(self, *args): 5450 r""" 5451 __init__(SBEnvironment self) -> SBEnvironment 5452 __init__(SBEnvironment self, SBEnvironment rhs) -> SBEnvironment 5453 """ 5454 _lldb.SBEnvironment_swiginit(self, _lldb.new_SBEnvironment(*args)) 5455 __swig_destroy__ = _lldb.delete_SBEnvironment 5456 5457 def Get(self, name): 5458 r"""Get(SBEnvironment self, char const * name) -> char const *""" 5459 return _lldb.SBEnvironment_Get(self, name) 5460 5461 def GetNumValues(self): 5462 r"""GetNumValues(SBEnvironment self) -> size_t""" 5463 return _lldb.SBEnvironment_GetNumValues(self) 5464 5465 def GetNameAtIndex(self, index): 5466 r"""GetNameAtIndex(SBEnvironment self, size_t index) -> char const *""" 5467 return _lldb.SBEnvironment_GetNameAtIndex(self, index) 5468 5469 def GetValueAtIndex(self, index): 5470 r"""GetValueAtIndex(SBEnvironment self, size_t index) -> char const *""" 5471 return _lldb.SBEnvironment_GetValueAtIndex(self, index) 5472 5473 def GetEntries(self): 5474 r"""GetEntries(SBEnvironment self) -> SBStringList""" 5475 return _lldb.SBEnvironment_GetEntries(self) 5476 5477 def PutEntry(self, name_and_value): 5478 r"""PutEntry(SBEnvironment self, char const * name_and_value)""" 5479 return _lldb.SBEnvironment_PutEntry(self, name_and_value) 5480 5481 def SetEntries(self, entries, append): 5482 r"""SetEntries(SBEnvironment self, SBStringList entries, bool append)""" 5483 return _lldb.SBEnvironment_SetEntries(self, entries, append) 5484 5485 def Set(self, name, value, overwrite): 5486 r"""Set(SBEnvironment self, char const * name, char const * value, bool overwrite) -> bool""" 5487 return _lldb.SBEnvironment_Set(self, name, value, overwrite) 5488 5489 def Unset(self, name): 5490 r"""Unset(SBEnvironment self, char const * name) -> bool""" 5491 return _lldb.SBEnvironment_Unset(self, name) 5492 5493 def Clear(self): 5494 r"""Clear(SBEnvironment self)""" 5495 return _lldb.SBEnvironment_Clear(self) 5496 5497# Register SBEnvironment in _lldb: 5498_lldb.SBEnvironment_swigregister(SBEnvironment) 5499class SBEvent(object): 5500 r""" 5501 API clients can register to receive events. 5502 5503 For example, check out the following output: :: 5504 5505 Try wait for event... 5506 Event description: 0x103d0bb70 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = running} 5507 Event data flavor: Process::ProcessEventData 5508 Process state: running 5509 5510 Try wait for event... 5511 Event description: 0x103a700a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = stopped} 5512 Event data flavor: Process::ProcessEventData 5513 Process state: stopped 5514 5515 Try wait for event... 5516 Event description: 0x103d0d4a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = exited} 5517 Event data flavor: Process::ProcessEventData 5518 Process state: exited 5519 5520 Try wait for event... 5521 timeout occurred waiting for event... 5522 5523 from test/python_api/event/TestEventspy: :: 5524 5525 def do_listen_for_and_print_event(self): 5526 '''Create a listener and use SBEvent API to print the events received.''' 5527 exe = os.path.join(os.getcwd(), 'a.out') 5528 5529 # Create a target by the debugger. 5530 target = self.dbg.CreateTarget(exe) 5531 self.assertTrue(target, VALID_TARGET) 5532 5533 # Now create a breakpoint on main.c by name 'c'. 5534 breakpoint = target.BreakpointCreateByName('c', 'a.out') 5535 5536 # Now launch the process, and do not stop at the entry point. 5537 process = target.LaunchSimple(None, None, os.getcwd()) 5538 self.assertTrue(process.GetState() == lldb.eStateStopped, 5539 PROCESS_STOPPED) 5540 5541 # Get a handle on the process's broadcaster. 5542 broadcaster = process.GetBroadcaster() 5543 5544 # Create an empty event object. 5545 event = lldb.SBEvent() 5546 5547 # Create a listener object and register with the broadcaster. 5548 listener = lldb.SBListener('my listener') 5549 rc = broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged) 5550 self.assertTrue(rc, 'AddListener successfully retruns') 5551 5552 traceOn = self.TraceOn() 5553 if traceOn: 5554 lldbutil.print_stacktraces(process) 5555 5556 # Create MyListeningThread class to wait for any kind of event. 5557 import threading 5558 class MyListeningThread(threading.Thread): 5559 def run(self): 5560 count = 0 5561 # Let's only try at most 4 times to retrieve any kind of event. 5562 # After that, the thread exits. 5563 while not count > 3: 5564 if traceOn: 5565 print('Try wait for event...') 5566 if listener.WaitForEventForBroadcasterWithType(5, 5567 broadcaster, 5568 lldb.SBProcess.eBroadcastBitStateChanged, 5569 event): 5570 if traceOn: 5571 desc = lldbutil.get_description(event)) 5572 print('Event description:', desc) 5573 print('Event data flavor:', event.GetDataFlavor()) 5574 print('Process state:', lldbutil.state_type_to_str(process.GetState())) 5575 print() 5576 else: 5577 if traceOn: 5578 print 'timeout occurred waiting for event...' 5579 count = count + 1 5580 return 5581 5582 # Let's start the listening thread to retrieve the events. 5583 my_thread = MyListeningThread() 5584 my_thread.start() 5585 5586 # Use Python API to continue the process. The listening thread should be 5587 # able to receive the state changed events. 5588 process.Continue() 5589 5590 # Use Python API to kill the process. The listening thread should be 5591 # able to receive the state changed event, too. 5592 process.Kill() 5593 5594 # Wait until the 'MyListeningThread' terminates. 5595 my_thread.join() 5596 """ 5597 5598 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5599 __repr__ = _swig_repr 5600 5601 def __init__(self, *args): 5602 r"""__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)""" 5603 _lldb.SBEvent_swiginit(self, _lldb.new_SBEvent(*args)) 5604 __swig_destroy__ = _lldb.delete_SBEvent 5605 5606 def __nonzero__(self): 5607 return _lldb.SBEvent___nonzero__(self) 5608 __bool__ = __nonzero__ 5609 5610 5611 5612 def IsValid(self): 5613 r"""IsValid(SBEvent self) -> bool""" 5614 return _lldb.SBEvent_IsValid(self) 5615 5616 def GetDataFlavor(self): 5617 r"""GetDataFlavor(SBEvent self) -> char const *""" 5618 return _lldb.SBEvent_GetDataFlavor(self) 5619 5620 def GetType(self): 5621 r"""GetType(SBEvent self) -> uint32_t""" 5622 return _lldb.SBEvent_GetType(self) 5623 5624 def GetBroadcaster(self): 5625 r"""GetBroadcaster(SBEvent self) -> SBBroadcaster""" 5626 return _lldb.SBEvent_GetBroadcaster(self) 5627 5628 def GetBroadcasterClass(self): 5629 r"""GetBroadcasterClass(SBEvent self) -> char const *""" 5630 return _lldb.SBEvent_GetBroadcasterClass(self) 5631 5632 def BroadcasterMatchesRef(self, broadcaster): 5633 r"""BroadcasterMatchesRef(SBEvent self, SBBroadcaster broadcaster) -> bool""" 5634 return _lldb.SBEvent_BroadcasterMatchesRef(self, broadcaster) 5635 5636 def Clear(self): 5637 r"""Clear(SBEvent self)""" 5638 return _lldb.SBEvent_Clear(self) 5639 5640 @staticmethod 5641 def GetCStringFromEvent(event): 5642 r"""GetCStringFromEvent(SBEvent event) -> char const *""" 5643 return _lldb.SBEvent_GetCStringFromEvent(event) 5644 5645 def GetDescription(self, *args): 5646 r""" 5647 GetDescription(SBEvent self, SBStream description) -> bool 5648 GetDescription(SBEvent self, SBStream description) -> bool 5649 """ 5650 return _lldb.SBEvent_GetDescription(self, *args) 5651 5652# Register SBEvent in _lldb: 5653_lldb.SBEvent_swigregister(SBEvent) 5654class SBExecutionContext(object): 5655 r"""Describes the program context in which a command should be executed.""" 5656 5657 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5658 __repr__ = _swig_repr 5659 5660 def __init__(self, *args): 5661 r""" 5662 __init__(SBExecutionContext self) -> SBExecutionContext 5663 __init__(SBExecutionContext self, SBExecutionContext rhs) -> SBExecutionContext 5664 __init__(SBExecutionContext self, SBTarget target) -> SBExecutionContext 5665 __init__(SBExecutionContext self, SBProcess process) -> SBExecutionContext 5666 __init__(SBExecutionContext self, SBThread thread) -> SBExecutionContext 5667 __init__(SBExecutionContext self, SBFrame frame) -> SBExecutionContext 5668 """ 5669 _lldb.SBExecutionContext_swiginit(self, _lldb.new_SBExecutionContext(*args)) 5670 __swig_destroy__ = _lldb.delete_SBExecutionContext 5671 5672 def GetTarget(self): 5673 r"""GetTarget(SBExecutionContext self) -> SBTarget""" 5674 return _lldb.SBExecutionContext_GetTarget(self) 5675 5676 def GetProcess(self): 5677 r"""GetProcess(SBExecutionContext self) -> SBProcess""" 5678 return _lldb.SBExecutionContext_GetProcess(self) 5679 5680 def GetThread(self): 5681 r"""GetThread(SBExecutionContext self) -> SBThread""" 5682 return _lldb.SBExecutionContext_GetThread(self) 5683 5684 def GetFrame(self): 5685 r"""GetFrame(SBExecutionContext self) -> SBFrame""" 5686 return _lldb.SBExecutionContext_GetFrame(self) 5687 5688 target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''') 5689 process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''') 5690 thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''') 5691 frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''') 5692 5693 5694# Register SBExecutionContext in _lldb: 5695_lldb.SBExecutionContext_swigregister(SBExecutionContext) 5696class SBExpressionOptions(object): 5697 r"""A container for options to use when evaluating expressions.""" 5698 5699 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5700 __repr__ = _swig_repr 5701 5702 def __init__(self, *args): 5703 r""" 5704 __init__(SBExpressionOptions self) -> SBExpressionOptions 5705 __init__(SBExpressionOptions self, SBExpressionOptions rhs) -> SBExpressionOptions 5706 """ 5707 _lldb.SBExpressionOptions_swiginit(self, _lldb.new_SBExpressionOptions(*args)) 5708 __swig_destroy__ = _lldb.delete_SBExpressionOptions 5709 5710 def GetCoerceResultToId(self): 5711 r"""GetCoerceResultToId(SBExpressionOptions self) -> bool""" 5712 return _lldb.SBExpressionOptions_GetCoerceResultToId(self) 5713 5714 def SetCoerceResultToId(self, coerce=True): 5715 r""" 5716 SetCoerceResultToId(SBExpressionOptions self, bool coerce=True) 5717 Sets whether to coerce the expression result to ObjC id type after evaluation. 5718 """ 5719 return _lldb.SBExpressionOptions_SetCoerceResultToId(self, coerce) 5720 5721 def GetUnwindOnError(self): 5722 r"""GetUnwindOnError(SBExpressionOptions self) -> bool""" 5723 return _lldb.SBExpressionOptions_GetUnwindOnError(self) 5724 5725 def SetUnwindOnError(self, unwind=True): 5726 r""" 5727 SetUnwindOnError(SBExpressionOptions self, bool unwind=True) 5728 Sets whether to unwind the expression stack on error. 5729 """ 5730 return _lldb.SBExpressionOptions_SetUnwindOnError(self, unwind) 5731 5732 def GetIgnoreBreakpoints(self): 5733 r"""GetIgnoreBreakpoints(SBExpressionOptions self) -> bool""" 5734 return _lldb.SBExpressionOptions_GetIgnoreBreakpoints(self) 5735 5736 def SetIgnoreBreakpoints(self, ignore=True): 5737 r""" 5738 SetIgnoreBreakpoints(SBExpressionOptions self, bool ignore=True) 5739 Sets whether to ignore breakpoint hits while running expressions. 5740 """ 5741 return _lldb.SBExpressionOptions_SetIgnoreBreakpoints(self, ignore) 5742 5743 def GetFetchDynamicValue(self): 5744 r"""GetFetchDynamicValue(SBExpressionOptions self) -> lldb::DynamicValueType""" 5745 return _lldb.SBExpressionOptions_GetFetchDynamicValue(self) 5746 5747 def SetFetchDynamicValue(self, *args): 5748 r""" 5749 SetFetchDynamicValue(SBExpressionOptions self, lldb::DynamicValueType dynamic=eDynamicCanRunTarget) 5750 Sets whether to cast the expression result to its dynamic type. 5751 """ 5752 return _lldb.SBExpressionOptions_SetFetchDynamicValue(self, *args) 5753 5754 def GetTimeoutInMicroSeconds(self): 5755 r"""GetTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t""" 5756 return _lldb.SBExpressionOptions_GetTimeoutInMicroSeconds(self) 5757 5758 def SetTimeoutInMicroSeconds(self, timeout=0): 5759 r""" 5760 SetTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0) 5761 Sets the timeout in microseconds to run the expression for. If try all threads is set to true and the expression doesn't complete within the specified timeout, all threads will be resumed for the same timeout to see if the expression will finish. 5762 """ 5763 return _lldb.SBExpressionOptions_SetTimeoutInMicroSeconds(self, timeout) 5764 5765 def GetOneThreadTimeoutInMicroSeconds(self): 5766 r"""GetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t""" 5767 return _lldb.SBExpressionOptions_GetOneThreadTimeoutInMicroSeconds(self) 5768 5769 def SetOneThreadTimeoutInMicroSeconds(self, timeout=0): 5770 r""" 5771 SetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0) 5772 Sets the timeout in microseconds to run the expression on one thread before either timing out or trying all threads. 5773 """ 5774 return _lldb.SBExpressionOptions_SetOneThreadTimeoutInMicroSeconds(self, timeout) 5775 5776 def GetTryAllThreads(self): 5777 r"""GetTryAllThreads(SBExpressionOptions self) -> bool""" 5778 return _lldb.SBExpressionOptions_GetTryAllThreads(self) 5779 5780 def SetTryAllThreads(self, run_others=True): 5781 r""" 5782 SetTryAllThreads(SBExpressionOptions self, bool run_others=True) 5783 Sets whether to run all threads if the expression does not complete on one thread. 5784 """ 5785 return _lldb.SBExpressionOptions_SetTryAllThreads(self, run_others) 5786 5787 def GetStopOthers(self): 5788 r"""GetStopOthers(SBExpressionOptions self) -> bool""" 5789 return _lldb.SBExpressionOptions_GetStopOthers(self) 5790 5791 def SetStopOthers(self, stop_others=True): 5792 r""" 5793 SetStopOthers(SBExpressionOptions self, bool stop_others=True) 5794 Sets whether to stop other threads at all while running expressions. If false, TryAllThreads does nothing. 5795 """ 5796 return _lldb.SBExpressionOptions_SetStopOthers(self, stop_others) 5797 5798 def GetTrapExceptions(self): 5799 r"""GetTrapExceptions(SBExpressionOptions self) -> bool""" 5800 return _lldb.SBExpressionOptions_GetTrapExceptions(self) 5801 5802 def SetTrapExceptions(self, trap_exceptions=True): 5803 r""" 5804 SetTrapExceptions(SBExpressionOptions self, bool trap_exceptions=True) 5805 Sets whether to abort expression evaluation if an exception is thrown while executing. Don't set this to false unless you know the function you are calling traps all exceptions itself. 5806 """ 5807 return _lldb.SBExpressionOptions_SetTrapExceptions(self, trap_exceptions) 5808 5809 def SetLanguage(self, *args): 5810 r""" 5811 SetLanguage(SBExpressionOptions self, lldb::LanguageType language) 5812 SetLanguage(SBExpressionOptions self, lldb::SBSourceLanguageName name, uint32_t version) 5813 Sets the language that LLDB should assume the expression is written in 5814 """ 5815 return _lldb.SBExpressionOptions_SetLanguage(self, *args) 5816 5817 def GetGenerateDebugInfo(self): 5818 r"""GetGenerateDebugInfo(SBExpressionOptions self) -> bool""" 5819 return _lldb.SBExpressionOptions_GetGenerateDebugInfo(self) 5820 5821 def SetGenerateDebugInfo(self, b=True): 5822 r""" 5823 SetGenerateDebugInfo(SBExpressionOptions self, bool b=True) 5824 Sets whether to generate debug information for the expression and also controls if a SBModule is generated. 5825 """ 5826 return _lldb.SBExpressionOptions_SetGenerateDebugInfo(self, b) 5827 5828 def GetSuppressPersistentResult(self): 5829 r"""GetSuppressPersistentResult(SBExpressionOptions self) -> bool""" 5830 return _lldb.SBExpressionOptions_GetSuppressPersistentResult(self) 5831 5832 def SetSuppressPersistentResult(self, b=False): 5833 r""" 5834 SetSuppressPersistentResult(SBExpressionOptions self, bool b=False) 5835 Sets whether to produce a persistent result that can be used in future expressions. 5836 """ 5837 return _lldb.SBExpressionOptions_SetSuppressPersistentResult(self, b) 5838 5839 def GetPrefix(self): 5840 r""" 5841 GetPrefix(SBExpressionOptions self) -> char const * 5842 Gets the prefix to use for this expression. 5843 """ 5844 return _lldb.SBExpressionOptions_GetPrefix(self) 5845 5846 def SetPrefix(self, prefix): 5847 r""" 5848 SetPrefix(SBExpressionOptions self, char const * prefix) 5849 Sets the prefix to use for this expression. This prefix gets inserted after the 'target.expr-prefix' prefix contents, but before the wrapped expression function body. 5850 """ 5851 return _lldb.SBExpressionOptions_SetPrefix(self, prefix) 5852 5853 def SetAutoApplyFixIts(self, b=True): 5854 r""" 5855 SetAutoApplyFixIts(SBExpressionOptions self, bool b=True) 5856 Sets whether to auto-apply fix-it hints to the expression being evaluated. 5857 """ 5858 return _lldb.SBExpressionOptions_SetAutoApplyFixIts(self, b) 5859 5860 def GetAutoApplyFixIts(self): 5861 r""" 5862 GetAutoApplyFixIts(SBExpressionOptions self) -> bool 5863 Gets whether to auto-apply fix-it hints to an expression. 5864 """ 5865 return _lldb.SBExpressionOptions_GetAutoApplyFixIts(self) 5866 5867 def SetRetriesWithFixIts(self, retries): 5868 r""" 5869 SetRetriesWithFixIts(SBExpressionOptions self, uint64_t retries) 5870 Sets how often LLDB should retry applying fix-its to an expression. 5871 """ 5872 return _lldb.SBExpressionOptions_SetRetriesWithFixIts(self, retries) 5873 5874 def GetRetriesWithFixIts(self): 5875 r""" 5876 GetRetriesWithFixIts(SBExpressionOptions self) -> uint64_t 5877 Gets how often LLDB will retry applying fix-its to an expression. 5878 """ 5879 return _lldb.SBExpressionOptions_GetRetriesWithFixIts(self) 5880 5881 def GetTopLevel(self): 5882 r"""GetTopLevel(SBExpressionOptions self) -> bool""" 5883 return _lldb.SBExpressionOptions_GetTopLevel(self) 5884 5885 def SetTopLevel(self, b=True): 5886 r"""SetTopLevel(SBExpressionOptions self, bool b=True)""" 5887 return _lldb.SBExpressionOptions_SetTopLevel(self, b) 5888 5889 def GetAllowJIT(self): 5890 r""" 5891 GetAllowJIT(SBExpressionOptions self) -> bool 5892 Gets whether to JIT an expression if it cannot be interpreted. 5893 """ 5894 return _lldb.SBExpressionOptions_GetAllowJIT(self) 5895 5896 def SetAllowJIT(self, allow): 5897 r""" 5898 SetAllowJIT(SBExpressionOptions self, bool allow) 5899 Sets whether to JIT an expression if it cannot be interpreted. 5900 """ 5901 return _lldb.SBExpressionOptions_SetAllowJIT(self, allow) 5902 5903# Register SBExpressionOptions in _lldb: 5904_lldb.SBExpressionOptions_swigregister(SBExpressionOptions) 5905class SBFile(object): 5906 r"""Represents a file.""" 5907 5908 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5909 __repr__ = _swig_repr 5910 5911 def __init__(self, *args): 5912 r""" 5913 __init__(SBFile self) -> SBFile 5914 __init__(SBFile self, lldb::FileSP file_sp) -> SBFile 5915 __init__(SBFile self, int fd, char const * mode, bool transfer_ownership) -> SBFile 5916 initialize a SBFile from a python file object 5917 """ 5918 _lldb.SBFile_swiginit(self, _lldb.new_SBFile(*args)) 5919 __swig_destroy__ = _lldb.delete_SBFile 5920 5921 def Read(self, buf): 5922 r"""Read(buffer) -> SBError, bytes_read""" 5923 return _lldb.SBFile_Read(self, buf) 5924 5925 def Write(self, buf): 5926 r"""Write(buffer) -> SBError, written_read""" 5927 return _lldb.SBFile_Write(self, buf) 5928 5929 def Flush(self): 5930 r"""Flush(SBFile self) -> SBError""" 5931 return _lldb.SBFile_Flush(self) 5932 5933 def IsValid(self): 5934 r"""IsValid(SBFile self) -> bool""" 5935 return _lldb.SBFile_IsValid(self) 5936 5937 def Close(self): 5938 r"""Close(SBFile self) -> SBError""" 5939 return _lldb.SBFile_Close(self) 5940 5941 def __nonzero__(self): 5942 return _lldb.SBFile___nonzero__(self) 5943 __bool__ = __nonzero__ 5944 5945 5946 5947 def GetFile(self): 5948 r""" 5949 GetFile(SBFile self) -> lldb::FileSP 5950 5951 Convert this SBFile into a python io.IOBase file object. 5952 5953 If the SBFile is itself a wrapper around a python file object, 5954 this will return that original object. 5955 5956 The file returned from here should be considered borrowed, 5957 in the sense that you may read and write to it, and flush it, 5958 etc, but you should not close it. If you want to close the 5959 SBFile, call SBFile.Close(). 5960 5961 If there is no underlying python file to unwrap, GetFile will 5962 use the file descriptor, if available to create a new python 5963 file object using ``open(fd, mode=..., closefd=False)`` 5964 5965 """ 5966 return _lldb.SBFile_GetFile(self) 5967 5968 @staticmethod 5969 def MakeBorrowed(BORROWED): 5970 r"""MakeBorrowed(lldb::FileSP BORROWED) -> SBFile""" 5971 return _lldb.SBFile_MakeBorrowed(BORROWED) 5972 5973 @staticmethod 5974 def MakeForcingIOMethods(FORCE_IO_METHODS): 5975 r"""MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) -> SBFile""" 5976 return _lldb.SBFile_MakeForcingIOMethods(FORCE_IO_METHODS) 5977 5978 @staticmethod 5979 def MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS): 5980 r"""MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) -> SBFile""" 5981 return _lldb.SBFile_MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS) 5982 5983 @classmethod 5984 def Create(cls, file, borrow=False, force_io_methods=False): 5985 """ 5986 Create a SBFile from a python file object, with options. 5987 5988 If borrow is set then the underlying file will 5989 not be closed when the SBFile is closed or destroyed. 5990 5991 If force_scripting_io is set then the python read/write 5992 methods will be called even if a file descriptor is available. 5993 """ 5994 if borrow: 5995 if force_io_methods: 5996 return cls.MakeBorrowedForcingIOMethods(file) 5997 else: 5998 return cls.MakeBorrowed(file) 5999 else: 6000 if force_io_methods: 6001 return cls.MakeForcingIOMethods(file) 6002 else: 6003 return cls(file) 6004 6005 6006# Register SBFile in _lldb: 6007_lldb.SBFile_swigregister(SBFile) 6008class SBFileSpec(object): 6009 r""" 6010 Represents a file specification that divides the path into a directory and 6011 basename. The string values of the paths are put into uniqued string pools 6012 for fast comparisons and efficient memory usage. 6013 6014 For example, the following code :: 6015 6016 lineEntry = context.GetLineEntry() 6017 self.expect(lineEntry.GetFileSpec().GetDirectory(), 'The line entry should have the correct directory', 6018 exe=False, 6019 substrs = [self.mydir]) 6020 self.expect(lineEntry.GetFileSpec().GetFilename(), 'The line entry should have the correct filename', 6021 exe=False, 6022 substrs = ['main.c']) 6023 self.assertTrue(lineEntry.GetLine() == self.line, 6024 'The line entry's line number should match ') 6025 6026 gets the line entry from the symbol context when a thread is stopped. 6027 It gets the file spec corresponding to the line entry and checks that 6028 the filename and the directory matches what we expect. 6029 """ 6030 6031 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6032 6033 def __init__(self, *args): 6034 r""" 6035 __init__(SBFileSpec self) -> SBFileSpec 6036 __init__(SBFileSpec self, SBFileSpec rhs) -> SBFileSpec 6037 __init__(SBFileSpec self, char const * path) -> SBFileSpec 6038 __init__(SBFileSpec self, char const * path, bool resolve) -> SBFileSpec 6039 """ 6040 _lldb.SBFileSpec_swiginit(self, _lldb.new_SBFileSpec(*args)) 6041 __swig_destroy__ = _lldb.delete_SBFileSpec 6042 6043 def __nonzero__(self): 6044 return _lldb.SBFileSpec___nonzero__(self) 6045 __bool__ = __nonzero__ 6046 6047 6048 6049 def __eq__(self, rhs): 6050 r"""__eq__(SBFileSpec self, SBFileSpec rhs) -> bool""" 6051 return _lldb.SBFileSpec___eq__(self, rhs) 6052 6053 def __ne__(self, rhs): 6054 r"""__ne__(SBFileSpec self, SBFileSpec rhs) -> bool""" 6055 return _lldb.SBFileSpec___ne__(self, rhs) 6056 6057 def IsValid(self): 6058 r"""IsValid(SBFileSpec self) -> bool""" 6059 return _lldb.SBFileSpec_IsValid(self) 6060 6061 def Exists(self): 6062 r"""Exists(SBFileSpec self) -> bool""" 6063 return _lldb.SBFileSpec_Exists(self) 6064 6065 def ResolveExecutableLocation(self): 6066 r"""ResolveExecutableLocation(SBFileSpec self) -> bool""" 6067 return _lldb.SBFileSpec_ResolveExecutableLocation(self) 6068 6069 def GetFilename(self): 6070 r"""GetFilename(SBFileSpec self) -> char const *""" 6071 return _lldb.SBFileSpec_GetFilename(self) 6072 6073 def GetDirectory(self): 6074 r"""GetDirectory(SBFileSpec self) -> char const *""" 6075 return _lldb.SBFileSpec_GetDirectory(self) 6076 6077 def SetFilename(self, filename): 6078 r"""SetFilename(SBFileSpec self, char const * filename)""" 6079 return _lldb.SBFileSpec_SetFilename(self, filename) 6080 6081 def SetDirectory(self, directory): 6082 r"""SetDirectory(SBFileSpec self, char const * directory)""" 6083 return _lldb.SBFileSpec_SetDirectory(self, directory) 6084 6085 def GetPath(self, dst_path, dst_len): 6086 r"""GetPath(SBFileSpec self, char * dst_path, size_t dst_len) -> uint32_t""" 6087 return _lldb.SBFileSpec_GetPath(self, dst_path, dst_len) 6088 6089 @staticmethod 6090 def ResolvePath(src_path, dst_path, dst_len): 6091 r"""ResolvePath(char const * src_path, char * dst_path, size_t dst_len) -> int""" 6092 return _lldb.SBFileSpec_ResolvePath(src_path, dst_path, dst_len) 6093 6094 def GetDescription(self, description): 6095 r"""GetDescription(SBFileSpec self, SBStream description) -> bool""" 6096 return _lldb.SBFileSpec_GetDescription(self, description) 6097 6098 def AppendPathComponent(self, file_or_directory): 6099 r"""AppendPathComponent(SBFileSpec self, char const * file_or_directory)""" 6100 return _lldb.SBFileSpec_AppendPathComponent(self, file_or_directory) 6101 6102 def __repr__(self): 6103 r"""__repr__(SBFileSpec self) -> std::string""" 6104 return _lldb.SBFileSpec___repr__(self) 6105 6106 # operator== is a free function, which swig does not handle, so we inject 6107 # our own equality operator here 6108 def __eq__(self, other): 6109 return not self.__ne__(other) 6110 6111 fullpath = property(str, None, doc='''A read only property that returns the fullpath as a python string.''') 6112 basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''') 6113 dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''') 6114 exists = property(Exists, None, doc='''A read only property that returns a boolean value that indicates if the file exists.''') 6115 6116 6117# Register SBFileSpec in _lldb: 6118_lldb.SBFileSpec_swigregister(SBFileSpec) 6119class SBFileSpecList(object): 6120 r"""Represents a list of :py:class:`SBFileSpec`.""" 6121 6122 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6123 6124 def __init__(self, *args): 6125 r""" 6126 __init__(SBFileSpecList self) -> SBFileSpecList 6127 __init__(SBFileSpecList self, SBFileSpecList rhs) -> SBFileSpecList 6128 """ 6129 _lldb.SBFileSpecList_swiginit(self, _lldb.new_SBFileSpecList(*args)) 6130 __swig_destroy__ = _lldb.delete_SBFileSpecList 6131 6132 def GetSize(self): 6133 r"""GetSize(SBFileSpecList self) -> uint32_t""" 6134 return _lldb.SBFileSpecList_GetSize(self) 6135 6136 def GetDescription(self, description): 6137 r"""GetDescription(SBFileSpecList self, SBStream description) -> bool""" 6138 return _lldb.SBFileSpecList_GetDescription(self, description) 6139 6140 def Append(self, sb_file): 6141 r"""Append(SBFileSpecList self, SBFileSpec sb_file)""" 6142 return _lldb.SBFileSpecList_Append(self, sb_file) 6143 6144 def AppendIfUnique(self, sb_file): 6145 r"""AppendIfUnique(SBFileSpecList self, SBFileSpec sb_file) -> bool""" 6146 return _lldb.SBFileSpecList_AppendIfUnique(self, sb_file) 6147 6148 def Clear(self): 6149 r"""Clear(SBFileSpecList self)""" 6150 return _lldb.SBFileSpecList_Clear(self) 6151 6152 def FindFileIndex(self, idx, sb_file, full): 6153 r"""FindFileIndex(SBFileSpecList self, uint32_t idx, SBFileSpec sb_file, bool full) -> uint32_t""" 6154 return _lldb.SBFileSpecList_FindFileIndex(self, idx, sb_file, full) 6155 6156 def GetFileSpecAtIndex(self, idx): 6157 r"""GetFileSpecAtIndex(SBFileSpecList self, uint32_t idx) -> SBFileSpec""" 6158 return _lldb.SBFileSpecList_GetFileSpecAtIndex(self, idx) 6159 6160 def __repr__(self): 6161 r"""__repr__(SBFileSpecList self) -> std::string""" 6162 return _lldb.SBFileSpecList___repr__(self) 6163 6164 def __len__(self): 6165 '''Return the number of FileSpec in a lldb.SBFileSpecList object.''' 6166 return self.GetSize() 6167 6168 def __iter__(self): 6169 '''Iterate over all FileSpecs in a lldb.SBFileSpecList object.''' 6170 return lldb_iter(self, 'GetSize', 'GetFileSpecAtIndex') 6171 6172 6173# Register SBFileSpecList in _lldb: 6174_lldb.SBFileSpecList_swigregister(SBFileSpecList) 6175class SBFormat(object): 6176 r"""Class that represents a format string that can be used to generate descriptions of objects like frames and threads. See https://lldb.llvm.org/use/formatting.html for more information.""" 6177 6178 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6179 __repr__ = _swig_repr 6180 6181 def __init__(self, *args): 6182 r""" 6183 __init__(SBFormat self) -> SBFormat 6184 __init__(SBFormat self, char const * format, SBError error) -> SBFormat 6185 __init__(SBFormat self, SBFormat rhs) -> SBFormat 6186 """ 6187 _lldb.SBFormat_swiginit(self, _lldb.new_SBFormat(*args)) 6188 __swig_destroy__ = _lldb.delete_SBFormat 6189 6190 def __nonzero__(self): 6191 return _lldb.SBFormat___nonzero__(self) 6192 __bool__ = __nonzero__ 6193 6194 6195 6196# Register SBFormat in _lldb: 6197_lldb.SBFormat_swigregister(SBFormat) 6198class SBFrame(object): 6199 r""" 6200 Represents one of the stack frames associated with a thread. 6201 6202 SBThread contains SBFrame(s). For example (from test/lldbutil.py), :: 6203 6204 def print_stacktrace(thread, string_buffer = False): 6205 '''Prints a simple stack trace of this thread.''' 6206 6207 ... 6208 6209 for i in range(depth): 6210 frame = thread.GetFrameAtIndex(i) 6211 function = frame.GetFunction() 6212 6213 load_addr = addrs[i].GetLoadAddress(target) 6214 if not function: 6215 file_addr = addrs[i].GetFileAddress() 6216 start_addr = frame.GetSymbol().GetStartAddress().GetFileAddress() 6217 symbol_offset = file_addr - start_addr 6218 print >> output, ' frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format( 6219 num=i, addr=load_addr, mod=mods[i], symbol=symbols[i], offset=symbol_offset) 6220 else: 6221 print >> output, ' frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format( 6222 num=i, addr=load_addr, mod=mods[i], 6223 func='%s [inlined]' % funcs[i] if frame.IsInlined() else funcs[i], 6224 file=files[i], line=lines[i], 6225 args=get_args_as_string(frame, showFuncName=False) if not frame.IsInlined() else '()') 6226 6227 ... 6228 6229 And, :: 6230 6231 for frame in thread: 6232 print frame 6233 6234 See also SBThread. 6235 """ 6236 6237 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6238 6239 def __init__(self, *args): 6240 r""" 6241 __init__(SBFrame self) -> SBFrame 6242 __init__(SBFrame self, SBFrame rhs) -> SBFrame 6243 """ 6244 _lldb.SBFrame_swiginit(self, _lldb.new_SBFrame(*args)) 6245 __swig_destroy__ = _lldb.delete_SBFrame 6246 6247 def IsEqual(self, that): 6248 r"""IsEqual(SBFrame self, SBFrame that) -> bool""" 6249 return _lldb.SBFrame_IsEqual(self, that) 6250 6251 def __nonzero__(self): 6252 return _lldb.SBFrame___nonzero__(self) 6253 __bool__ = __nonzero__ 6254 6255 6256 6257 def IsValid(self): 6258 r"""IsValid(SBFrame self) -> bool""" 6259 return _lldb.SBFrame_IsValid(self) 6260 6261 def GetFrameID(self): 6262 r"""GetFrameID(SBFrame self) -> uint32_t""" 6263 return _lldb.SBFrame_GetFrameID(self) 6264 6265 def GetCFA(self): 6266 r""" 6267 GetCFA(SBFrame self) -> lldb::addr_t 6268 6269 Get the Canonical Frame Address for this stack frame. 6270 This is the DWARF standard's definition of a CFA, a stack address 6271 that remains constant throughout the lifetime of the function. 6272 Returns an lldb::addr_t stack address, or LLDB_INVALID_ADDRESS if 6273 the CFA cannot be determined. 6274 """ 6275 return _lldb.SBFrame_GetCFA(self) 6276 6277 def GetPC(self): 6278 r"""GetPC(SBFrame self) -> lldb::addr_t""" 6279 return _lldb.SBFrame_GetPC(self) 6280 6281 def SetPC(self, new_pc): 6282 r"""SetPC(SBFrame self, lldb::addr_t new_pc) -> bool""" 6283 return _lldb.SBFrame_SetPC(self, new_pc) 6284 6285 def GetSP(self): 6286 r"""GetSP(SBFrame self) -> lldb::addr_t""" 6287 return _lldb.SBFrame_GetSP(self) 6288 6289 def GetFP(self): 6290 r"""GetFP(SBFrame self) -> lldb::addr_t""" 6291 return _lldb.SBFrame_GetFP(self) 6292 6293 def GetPCAddress(self): 6294 r"""GetPCAddress(SBFrame self) -> SBAddress""" 6295 return _lldb.SBFrame_GetPCAddress(self) 6296 6297 def GetSymbolContext(self, resolve_scope): 6298 r"""GetSymbolContext(SBFrame self, uint32_t resolve_scope) -> SBSymbolContext""" 6299 return _lldb.SBFrame_GetSymbolContext(self, resolve_scope) 6300 6301 def GetModule(self): 6302 r"""GetModule(SBFrame self) -> SBModule""" 6303 return _lldb.SBFrame_GetModule(self) 6304 6305 def GetCompileUnit(self): 6306 r"""GetCompileUnit(SBFrame self) -> SBCompileUnit""" 6307 return _lldb.SBFrame_GetCompileUnit(self) 6308 6309 def GetFunction(self): 6310 r"""GetFunction(SBFrame self) -> SBFunction""" 6311 return _lldb.SBFrame_GetFunction(self) 6312 6313 def GetSymbol(self): 6314 r"""GetSymbol(SBFrame self) -> SBSymbol""" 6315 return _lldb.SBFrame_GetSymbol(self) 6316 6317 def GetBlock(self): 6318 r""" 6319 GetBlock(SBFrame self) -> SBBlock 6320 6321 Gets the deepest block that contains the frame PC. 6322 6323 See also GetFrameBlock(). 6324 """ 6325 return _lldb.SBFrame_GetBlock(self) 6326 6327 def GetDisplayFunctionName(self): 6328 r"""GetDisplayFunctionName(SBFrame self) -> char const *""" 6329 return _lldb.SBFrame_GetDisplayFunctionName(self) 6330 6331 def GetFunctionName(self, *args): 6332 r""" 6333 GetFunctionName(SBFrame self) -> char const 6334 GetFunctionName(SBFrame self) -> char const * 6335 6336 Get the appropriate function name for this frame. Inlined functions in 6337 LLDB are represented by Blocks that have inlined function information, so 6338 just looking at the SBFunction or SBSymbol for a frame isn't enough. 6339 This function will return the appropriate function, symbol or inlined 6340 function name for the frame. 6341 6342 This function returns: 6343 - the name of the inlined function (if there is one) 6344 - the name of the concrete function (if there is one) 6345 - the name of the symbol (if there is one) 6346 - NULL 6347 6348 See also IsInlined(). 6349 """ 6350 return _lldb.SBFrame_GetFunctionName(self, *args) 6351 6352 def GuessLanguage(self): 6353 r""" 6354 GuessLanguage(SBFrame self) -> lldb::LanguageType 6355 6356 Returns the language of the frame's SBFunction, or if there. 6357 is no SBFunction, guess the language from the mangled name. 6358 . 6359 """ 6360 return _lldb.SBFrame_GuessLanguage(self) 6361 6362 def IsInlined(self, *args): 6363 r""" 6364 IsInlined(SBFrame self) -> bool 6365 IsInlined(SBFrame self) -> bool 6366 6367 Return true if this frame represents an inlined function. 6368 6369 See also GetFunctionName(). 6370 """ 6371 return _lldb.SBFrame_IsInlined(self, *args) 6372 6373 def IsArtificial(self, *args): 6374 r""" 6375 IsArtificial(SBFrame self) -> bool 6376 IsArtificial(SBFrame self) -> bool 6377 6378 Return true if this frame is artificial (e.g a frame synthesized to 6379 capture a tail call). Local variables may not be available in an artificial 6380 frame. 6381 """ 6382 return _lldb.SBFrame_IsArtificial(self, *args) 6383 6384 def EvaluateExpression(self, *args): 6385 r""" 6386 EvaluateExpression(SBFrame self, char const * expr) -> SBValue 6387 EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic) -> SBValue 6388 EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error) -> SBValue 6389 EvaluateExpression(SBFrame self, char const * expr, SBExpressionOptions options) -> SBValue 6390 6391 The version that doesn't supply a 'use_dynamic' value will use the 6392 target's default. 6393 """ 6394 return _lldb.SBFrame_EvaluateExpression(self, *args) 6395 6396 def GetFrameBlock(self): 6397 r""" 6398 GetFrameBlock(SBFrame self) -> SBBlock 6399 6400 Gets the lexical block that defines the stack frame. Another way to think 6401 of this is it will return the block that contains all of the variables 6402 for a stack frame. Inlined functions are represented as SBBlock objects 6403 that have inlined function information: the name of the inlined function, 6404 where it was called from. The block that is returned will be the first 6405 block at or above the block for the PC (SBFrame::GetBlock()) that defines 6406 the scope of the frame. When a function contains no inlined functions, 6407 this will be the top most lexical block that defines the function. 6408 When a function has inlined functions and the PC is currently 6409 in one of those inlined functions, this method will return the inlined 6410 block that defines this frame. If the PC isn't currently in an inlined 6411 function, the lexical block that defines the function is returned. 6412 """ 6413 return _lldb.SBFrame_GetFrameBlock(self) 6414 6415 def GetLineEntry(self): 6416 r"""GetLineEntry(SBFrame self) -> SBLineEntry""" 6417 return _lldb.SBFrame_GetLineEntry(self) 6418 6419 def GetThread(self): 6420 r"""GetThread(SBFrame self) -> SBThread""" 6421 return _lldb.SBFrame_GetThread(self) 6422 6423 def Disassemble(self): 6424 r"""Disassemble(SBFrame self) -> char const *""" 6425 return _lldb.SBFrame_Disassemble(self) 6426 6427 def Clear(self): 6428 r"""Clear(SBFrame self)""" 6429 return _lldb.SBFrame_Clear(self) 6430 6431 def __eq__(self, rhs): 6432 r"""__eq__(SBFrame self, SBFrame rhs) -> bool""" 6433 return _lldb.SBFrame___eq__(self, rhs) 6434 6435 def __ne__(self, rhs): 6436 r"""__ne__(SBFrame self, SBFrame rhs) -> bool""" 6437 return _lldb.SBFrame___ne__(self, rhs) 6438 6439 def GetVariables(self, *args): 6440 r""" 6441 GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only) -> SBValueList 6442 GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only, lldb::DynamicValueType use_dynamic) -> SBValueList 6443 GetVariables(SBFrame self, SBVariablesOptions options) -> SBValueList 6444 6445 The version that doesn't supply a 'use_dynamic' value will use the 6446 target's default. 6447 """ 6448 return _lldb.SBFrame_GetVariables(self, *args) 6449 6450 def GetRegisters(self): 6451 r"""GetRegisters(SBFrame self) -> SBValueList""" 6452 return _lldb.SBFrame_GetRegisters(self) 6453 6454 def FindRegister(self, name): 6455 r"""FindRegister(SBFrame self, char const * name) -> SBValue""" 6456 return _lldb.SBFrame_FindRegister(self, name) 6457 6458 def FindVariable(self, *args): 6459 r""" 6460 FindVariable(SBFrame self, char const * var_name) -> SBValue 6461 FindVariable(SBFrame self, char const * var_name, lldb::DynamicValueType use_dynamic) -> SBValue 6462 6463 The version that doesn't supply a 'use_dynamic' value will use the 6464 target's default. 6465 """ 6466 return _lldb.SBFrame_FindVariable(self, *args) 6467 6468 def GetValueForVariablePath(self, *args): 6469 r""" 6470 GetValueForVariablePath(SBFrame self, char const * var_expr_cstr, lldb::DynamicValueType use_dynamic) -> SBValue 6471 GetValueForVariablePath(SBFrame self, char const * var_path) -> SBValue 6472 6473 Get a lldb.SBValue for a variable path. 6474 6475 Variable paths can include access to pointer or instance members: :: 6476 6477 rect_ptr->origin.y 6478 pt.x 6479 6480 Pointer dereferences: :: 6481 6482 *this->foo_ptr 6483 **argv 6484 6485 Address of: :: 6486 6487 &pt 6488 &my_array[3].x 6489 6490 Array accesses and treating pointers as arrays: :: 6491 6492 int_array[1] 6493 pt_ptr[22].x 6494 6495 Unlike `EvaluateExpression()` which returns :py:class:`SBValue` objects 6496 with constant copies of the values at the time of evaluation, 6497 the result of this function is a value that will continue to 6498 track the current value of the value as execution progresses 6499 in the current frame. 6500 """ 6501 return _lldb.SBFrame_GetValueForVariablePath(self, *args) 6502 6503 def FindValue(self, *args): 6504 r""" 6505 FindValue(SBFrame self, char const * name, lldb::ValueType value_type) -> SBValue 6506 FindValue(SBFrame self, char const * name, lldb::ValueType value_type, lldb::DynamicValueType use_dynamic) -> SBValue 6507 6508 Find variables, register sets, registers, or persistent variables using 6509 the frame as the scope. 6510 6511 The version that doesn't supply a ``use_dynamic`` value will use the 6512 target's default. 6513 """ 6514 return _lldb.SBFrame_FindValue(self, *args) 6515 6516 def GetDescription(self, description): 6517 r"""GetDescription(SBFrame self, SBStream description) -> bool""" 6518 return _lldb.SBFrame_GetDescription(self, description) 6519 6520 def GetDescriptionWithFormat(self, format, output): 6521 r"""GetDescriptionWithFormat(SBFrame self, SBFormat format, SBStream output) -> SBError""" 6522 return _lldb.SBFrame_GetDescriptionWithFormat(self, format, output) 6523 6524 def __repr__(self): 6525 r"""__repr__(SBFrame self) -> std::string""" 6526 return _lldb.SBFrame___repr__(self) 6527 6528 # operator== is a free function, which swig does not handle, so we inject 6529 # our own equality operator here 6530 def __eq__(self, other): 6531 return not self.__ne__(other) 6532 6533 def __int__(self): 6534 return self.GetFrameID() 6535 6536 def __hex__(self): 6537 return self.GetPC() 6538 6539 def get_all_variables(self): 6540 return self.GetVariables(True,True,True,True) 6541 6542 def get_parent_frame(self): 6543 parent_idx = self.idx + 1 6544 if parent_idx >= 0 and parent_idx < len(self.thread.frame): 6545 return self.thread.frame[parent_idx] 6546 else: 6547 return SBFrame() 6548 6549 def get_arguments(self): 6550 return self.GetVariables(True,False,False,False) 6551 6552 def get_locals(self): 6553 return self.GetVariables(False,True,False,False) 6554 6555 def get_statics(self): 6556 return self.GetVariables(False,False,True,False) 6557 6558 def var(self, var_expr_path): 6559 '''Calls through to lldb.SBFrame.GetValueForVariablePath() and returns 6560 a value that represents the variable expression path''' 6561 return self.GetValueForVariablePath(var_expr_path) 6562 6563 def get_registers_access(self): 6564 class registers_access(object): 6565 '''A helper object that exposes a flattened view of registers, masking away the notion of register sets for easy scripting.''' 6566 def __init__(self, regs): 6567 self.regs = regs 6568 6569 def __iter__(self): 6570 return self.get_registers() 6571 6572 def get_registers(self): 6573 for i in range(0,len(self.regs)): 6574 rs = self.regs[i] 6575 for j in range (0,rs.num_children): 6576 reg = rs.GetChildAtIndex(j) 6577 yield reg 6578 6579 def __getitem__(self, key): 6580 if type(key) is str: 6581 for i in range(0,len(self.regs)): 6582 rs = self.regs[i] 6583 for j in range (0,rs.num_children): 6584 reg = rs.GetChildAtIndex(j) 6585 if reg.name == key: return reg 6586 else: 6587 return SBValue() 6588 6589 return registers_access(self.registers) 6590 6591 pc = property(GetPC, SetPC) 6592 addr = property(GetPCAddress, None, doc='''A read only property that returns the program counter (PC) as a section offset address (lldb.SBAddress).''') 6593 fp = property(GetFP, None, doc='''A read only property that returns the frame pointer (FP) as an unsigned integer.''') 6594 sp = property(GetSP, None, doc='''A read only property that returns the stack pointer (SP) as an unsigned integer.''') 6595 module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) for this stack frame.''') 6596 compile_unit = property(GetCompileUnit, None, doc='''A read only property that returns an lldb object that represents the compile unit (lldb.SBCompileUnit) for this stack frame.''') 6597 function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) for this stack frame.''') 6598 symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) for this stack frame.''') 6599 block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) for this stack frame.''') 6600 is_inlined = property(IsInlined, None, doc='''A read only property that returns an boolean that indicates if the block frame is an inlined function.''') 6601 name = property(GetFunctionName, None, doc='''A read only property that retuns the name for the function that this frame represents. Inlined stack frame might have a concrete function that differs from the name of the inlined function (a named lldb.SBBlock).''') 6602 line_entry = property(GetLineEntry, None, doc='''A read only property that returns an lldb object that represents the line table entry (lldb.SBLineEntry) for this stack frame.''') 6603 thread = property(GetThread, None, doc='''A read only property that returns an lldb object that represents the thread (lldb.SBThread) for this stack frame.''') 6604 disassembly = property(Disassemble, None, doc='''A read only property that returns the disassembly for this stack frame as a python string.''') 6605 idx = property(GetFrameID, None, doc='''A read only property that returns the zero based stack frame index.''') 6606 variables = property(get_all_variables, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the variables in this stack frame.''') 6607 vars = property(get_all_variables, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the variables in this stack frame.''') 6608 locals = property(get_locals, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the local variables in this stack frame.''') 6609 args = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''') 6610 arguments = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''') 6611 statics = property(get_statics, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the static variables in this stack frame.''') 6612 registers = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''') 6613 regs = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''') 6614 register = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame.''') 6615 reg = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame''') 6616 parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''') 6617 6618 6619# Register SBFrame in _lldb: 6620_lldb.SBFrame_swigregister(SBFrame) 6621class SBFunction(object): 6622 r""" 6623 Represents a generic function, which can be inlined or not. 6624 6625 For example (from test/lldbutil.py, but slightly modified for doc purpose),:: 6626 6627 ... 6628 6629 frame = thread.GetFrameAtIndex(i) 6630 addr = frame.GetPCAddress() 6631 load_addr = addr.GetLoadAddress(target) 6632 function = frame.GetFunction() 6633 mod_name = frame.GetModule().GetFileSpec().GetFilename() 6634 6635 if not function: 6636 # No debug info for 'function'. 6637 symbol = frame.GetSymbol() 6638 file_addr = addr.GetFileAddress() 6639 start_addr = symbol.GetStartAddress().GetFileAddress() 6640 symbol_name = symbol.GetName() 6641 symbol_offset = file_addr - start_addr 6642 print >> output, ' frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format( 6643 num=i, addr=load_addr, mod=mod_name, symbol=symbol_name, offset=symbol_offset) 6644 else: 6645 # Debug info is available for 'function'. 6646 func_name = frame.GetFunctionName() 6647 file_name = frame.GetLineEntry().GetFileSpec().GetFilename() 6648 line_num = frame.GetLineEntry().GetLine() 6649 print >> output, ' frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format( 6650 num=i, addr=load_addr, mod=mod_name, 6651 func='%s [inlined]' % func_name] if frame.IsInlined() else func_name, 6652 file=file_name, line=line_num, args=get_args_as_string(frame, showFuncName=False)) 6653 6654 ... 6655 """ 6656 6657 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6658 6659 def __init__(self, *args): 6660 r""" 6661 __init__(SBFunction self) -> SBFunction 6662 __init__(SBFunction self, SBFunction rhs) -> SBFunction 6663 """ 6664 _lldb.SBFunction_swiginit(self, _lldb.new_SBFunction(*args)) 6665 __swig_destroy__ = _lldb.delete_SBFunction 6666 6667 def __nonzero__(self): 6668 return _lldb.SBFunction___nonzero__(self) 6669 __bool__ = __nonzero__ 6670 6671 6672 6673 def IsValid(self): 6674 r"""IsValid(SBFunction self) -> bool""" 6675 return _lldb.SBFunction_IsValid(self) 6676 6677 def GetName(self): 6678 r"""GetName(SBFunction self) -> char const *""" 6679 return _lldb.SBFunction_GetName(self) 6680 6681 def GetDisplayName(self): 6682 r"""GetDisplayName(SBFunction self) -> char const *""" 6683 return _lldb.SBFunction_GetDisplayName(self) 6684 6685 def GetMangledName(self): 6686 r"""GetMangledName(SBFunction self) -> char const *""" 6687 return _lldb.SBFunction_GetMangledName(self) 6688 6689 def GetInstructions(self, *args): 6690 r""" 6691 GetInstructions(SBFunction self, SBTarget target) -> SBInstructionList 6692 GetInstructions(SBFunction self, SBTarget target, char const * flavor) -> SBInstructionList 6693 """ 6694 return _lldb.SBFunction_GetInstructions(self, *args) 6695 6696 def GetStartAddress(self): 6697 r"""GetStartAddress(SBFunction self) -> SBAddress""" 6698 return _lldb.SBFunction_GetStartAddress(self) 6699 6700 def GetEndAddress(self): 6701 r"""GetEndAddress(SBFunction self) -> SBAddress""" 6702 return _lldb.SBFunction_GetEndAddress(self) 6703 6704 def GetRanges(self): 6705 r"""GetRanges(SBFunction self) -> SBAddressRangeList""" 6706 return _lldb.SBFunction_GetRanges(self) 6707 6708 def GetArgumentName(self, arg_idx): 6709 r"""GetArgumentName(SBFunction self, uint32_t arg_idx) -> char const *""" 6710 return _lldb.SBFunction_GetArgumentName(self, arg_idx) 6711 6712 def GetPrologueByteSize(self): 6713 r"""GetPrologueByteSize(SBFunction self) -> uint32_t""" 6714 return _lldb.SBFunction_GetPrologueByteSize(self) 6715 6716 def GetType(self): 6717 r"""GetType(SBFunction self) -> SBType""" 6718 return _lldb.SBFunction_GetType(self) 6719 6720 def GetBlock(self): 6721 r"""GetBlock(SBFunction self) -> SBBlock""" 6722 return _lldb.SBFunction_GetBlock(self) 6723 6724 def GetLanguage(self): 6725 r"""GetLanguage(SBFunction self) -> lldb::LanguageType""" 6726 return _lldb.SBFunction_GetLanguage(self) 6727 6728 def GetIsOptimized(self): 6729 r""" 6730 GetIsOptimized(SBFunction self) -> bool 6731 6732 Returns true if the function was compiled with optimization. 6733 Optimization, in this case, is meant to indicate that the debugger 6734 experience may be confusing for the user -- variables optimized away, 6735 stepping jumping between source lines -- and the driver may want to 6736 provide some guidance to the user about this. 6737 Returns false if unoptimized, or unknown. 6738 """ 6739 return _lldb.SBFunction_GetIsOptimized(self) 6740 6741 def __eq__(self, rhs): 6742 r"""__eq__(SBFunction self, SBFunction rhs) -> bool""" 6743 return _lldb.SBFunction___eq__(self, rhs) 6744 6745 def __ne__(self, rhs): 6746 r"""__ne__(SBFunction self, SBFunction rhs) -> bool""" 6747 return _lldb.SBFunction___ne__(self, rhs) 6748 6749 def GetDescription(self, description): 6750 r"""GetDescription(SBFunction self, SBStream description) -> bool""" 6751 return _lldb.SBFunction_GetDescription(self, description) 6752 6753 def __repr__(self): 6754 r"""__repr__(SBFunction self) -> std::string""" 6755 return _lldb.SBFunction___repr__(self) 6756 6757 # operator== is a free function, which swig does not handle, so we inject 6758 # our own equality operator here 6759 def __eq__(self, other): 6760 return not self.__ne__(other) 6761 6762 def get_instructions_from_current_target (self): 6763 return self.GetInstructions (target) 6764 6765 addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.''') 6766 end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.''') 6767 block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.''') 6768 instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.''') 6769 mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this function as a string.''') 6770 name = property(GetName, None, doc='''A read only property that returns the name for this function as a string.''') 6771 prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''') 6772 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.''') 6773 6774 6775 def __eq__(self, rhs): 6776 if not isinstance(rhs, type(self)): 6777 return False 6778 6779 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 6780 6781 def __ne__(self, rhs): 6782 if not isinstance(rhs, type(self)): 6783 return True 6784 6785 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 6786 6787 6788# Register SBFunction in _lldb: 6789_lldb.SBFunction_swigregister(SBFunction) 6790class SBHostOS(object): 6791 r"""Provides information about the host system.""" 6792 6793 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6794 __repr__ = _swig_repr 6795 6796 @staticmethod 6797 def GetProgramFileSpec(): 6798 r"""GetProgramFileSpec() -> SBFileSpec""" 6799 return _lldb.SBHostOS_GetProgramFileSpec() 6800 6801 @staticmethod 6802 def GetLLDBPythonPath(): 6803 r"""GetLLDBPythonPath() -> SBFileSpec""" 6804 return _lldb.SBHostOS_GetLLDBPythonPath() 6805 6806 @staticmethod 6807 def GetLLDBPath(path_type): 6808 r"""GetLLDBPath(lldb::PathType path_type) -> SBFileSpec""" 6809 return _lldb.SBHostOS_GetLLDBPath(path_type) 6810 6811 @staticmethod 6812 def GetUserHomeDirectory(): 6813 r"""GetUserHomeDirectory() -> SBFileSpec""" 6814 return _lldb.SBHostOS_GetUserHomeDirectory() 6815 6816 @staticmethod 6817 def ThreadCreated(name): 6818 r"""ThreadCreated(char const * name)""" 6819 return _lldb.SBHostOS_ThreadCreated(name) 6820 6821 @staticmethod 6822 def ThreadCreate(name, thread_function, thread_arg, err): 6823 r"""ThreadCreate(char const * name, lldb::thread_func_t thread_function, void * thread_arg, SBError err) -> lldb::thread_t""" 6824 return _lldb.SBHostOS_ThreadCreate(name, thread_function, thread_arg, err) 6825 6826 @staticmethod 6827 def ThreadCancel(thread, err): 6828 r"""ThreadCancel(lldb::thread_t thread, SBError err) -> bool""" 6829 return _lldb.SBHostOS_ThreadCancel(thread, err) 6830 6831 @staticmethod 6832 def ThreadDetach(thread, err): 6833 r"""ThreadDetach(lldb::thread_t thread, SBError err) -> bool""" 6834 return _lldb.SBHostOS_ThreadDetach(thread, err) 6835 6836 @staticmethod 6837 def ThreadJoin(thread, result, err): 6838 r"""ThreadJoin(lldb::thread_t thread, lldb::thread_result_t * result, SBError err) -> bool""" 6839 return _lldb.SBHostOS_ThreadJoin(thread, result, err) 6840 6841 def __init__(self): 6842 r"""__init__(SBHostOS self) -> SBHostOS""" 6843 _lldb.SBHostOS_swiginit(self, _lldb.new_SBHostOS()) 6844 __swig_destroy__ = _lldb.delete_SBHostOS 6845 6846# Register SBHostOS in _lldb: 6847_lldb.SBHostOS_swigregister(SBHostOS) 6848class SBInstruction(object): 6849 r"""Represents a (machine language) instruction.""" 6850 6851 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6852 6853 def __init__(self, *args): 6854 r""" 6855 __init__(SBInstruction self) -> SBInstruction 6856 __init__(SBInstruction self, SBInstruction rhs) -> SBInstruction 6857 """ 6858 _lldb.SBInstruction_swiginit(self, _lldb.new_SBInstruction(*args)) 6859 __swig_destroy__ = _lldb.delete_SBInstruction 6860 6861 def __nonzero__(self): 6862 return _lldb.SBInstruction___nonzero__(self) 6863 __bool__ = __nonzero__ 6864 6865 6866 6867 def IsValid(self): 6868 r"""IsValid(SBInstruction self) -> bool""" 6869 return _lldb.SBInstruction_IsValid(self) 6870 6871 def GetAddress(self): 6872 r"""GetAddress(SBInstruction self) -> SBAddress""" 6873 return _lldb.SBInstruction_GetAddress(self) 6874 6875 def GetMnemonic(self, target): 6876 r"""GetMnemonic(SBInstruction self, SBTarget target) -> char const *""" 6877 return _lldb.SBInstruction_GetMnemonic(self, target) 6878 6879 def GetOperands(self, target): 6880 r"""GetOperands(SBInstruction self, SBTarget target) -> char const *""" 6881 return _lldb.SBInstruction_GetOperands(self, target) 6882 6883 def GetComment(self, target): 6884 r"""GetComment(SBInstruction self, SBTarget target) -> char const *""" 6885 return _lldb.SBInstruction_GetComment(self, target) 6886 6887 def GetControlFlowKind(self, target): 6888 r"""GetControlFlowKind(SBInstruction self, SBTarget target) -> lldb::InstructionControlFlowKind""" 6889 return _lldb.SBInstruction_GetControlFlowKind(self, target) 6890 6891 def GetData(self, target): 6892 r"""GetData(SBInstruction self, SBTarget target) -> SBData""" 6893 return _lldb.SBInstruction_GetData(self, target) 6894 6895 def GetByteSize(self): 6896 r"""GetByteSize(SBInstruction self) -> size_t""" 6897 return _lldb.SBInstruction_GetByteSize(self) 6898 6899 def DoesBranch(self): 6900 r"""DoesBranch(SBInstruction self) -> bool""" 6901 return _lldb.SBInstruction_DoesBranch(self) 6902 6903 def HasDelaySlot(self): 6904 r"""HasDelaySlot(SBInstruction self) -> bool""" 6905 return _lldb.SBInstruction_HasDelaySlot(self) 6906 6907 def CanSetBreakpoint(self): 6908 r"""CanSetBreakpoint(SBInstruction self) -> bool""" 6909 return _lldb.SBInstruction_CanSetBreakpoint(self) 6910 6911 def Print(self, *args): 6912 r""" 6913 Print(SBInstruction self, SBFile out) 6914 Print(SBInstruction self, lldb::FileSP BORROWED) 6915 """ 6916 return _lldb.SBInstruction_Print(self, *args) 6917 6918 def GetDescription(self, description): 6919 r"""GetDescription(SBInstruction self, SBStream description) -> bool""" 6920 return _lldb.SBInstruction_GetDescription(self, description) 6921 6922 def EmulateWithFrame(self, frame, evaluate_options): 6923 r"""EmulateWithFrame(SBInstruction self, SBFrame frame, uint32_t evaluate_options) -> bool""" 6924 return _lldb.SBInstruction_EmulateWithFrame(self, frame, evaluate_options) 6925 6926 def DumpEmulation(self, triple): 6927 r"""DumpEmulation(SBInstruction self, char const * triple) -> bool""" 6928 return _lldb.SBInstruction_DumpEmulation(self, triple) 6929 6930 def TestEmulation(self, output_stream, test_file): 6931 r"""TestEmulation(SBInstruction self, SBStream output_stream, char const * test_file) -> bool""" 6932 return _lldb.SBInstruction_TestEmulation(self, output_stream, test_file) 6933 6934 def __repr__(self): 6935 r"""__repr__(SBInstruction self) -> std::string""" 6936 return _lldb.SBInstruction___repr__(self) 6937 6938 def __hex__(self): 6939 """ Returns the address of the instruction. """ 6940 return self.GetAddress() 6941 6942 def __len__(self): 6943 """ Returns the size of the instruction. """ 6944 return self.GetByteSize() 6945 6946 def __mnemonic_property__ (self): 6947 return self.GetMnemonic (target) 6948 def __operands_property__ (self): 6949 return self.GetOperands (target) 6950 def __comment_property__ (self): 6951 return self.GetComment (target) 6952 def __file_addr_property__ (self): 6953 return self.GetAddress ().GetFileAddress() 6954 def __load_adrr_property__ (self): 6955 return self.GetComment (target) 6956 6957 mnemonic = property(__mnemonic_property__, None, doc='''A read only property that returns the mnemonic for this instruction as a string.''') 6958 operands = property(__operands_property__, None, doc='''A read only property that returns the operands for this instruction as a string.''') 6959 comment = property(__comment_property__, None, doc='''A read only property that returns the comment for this instruction as a string.''') 6960 addr = property(GetAddress, None, doc='''A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.''') 6961 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes for this instruction as an integer.''') 6962 is_branch = property(DoesBranch, None, doc='''A read only property that returns a boolean value that indicates if this instruction is a branch instruction.''') 6963 6964 6965# Register SBInstruction in _lldb: 6966_lldb.SBInstruction_swigregister(SBInstruction) 6967class SBInstructionList(object): 6968 r""" 6969 Represents a list of machine instructions. SBFunction and SBSymbol have 6970 GetInstructions() methods which return SBInstructionList instances. 6971 6972 SBInstructionList supports instruction (:py:class:`SBInstruction` instance) iteration. 6973 For example (see also :py:class:`SBDebugger` for a more complete example), :: 6974 6975 def disassemble_instructions (insts): 6976 for i in insts: 6977 print i 6978 6979 defines a function which takes an SBInstructionList instance and prints out 6980 the machine instructions in assembly format. 6981 """ 6982 6983 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6984 6985 def __init__(self, *args): 6986 r""" 6987 __init__(SBInstructionList self) -> SBInstructionList 6988 __init__(SBInstructionList self, SBInstructionList rhs) -> SBInstructionList 6989 """ 6990 _lldb.SBInstructionList_swiginit(self, _lldb.new_SBInstructionList(*args)) 6991 __swig_destroy__ = _lldb.delete_SBInstructionList 6992 6993 def __nonzero__(self): 6994 return _lldb.SBInstructionList___nonzero__(self) 6995 __bool__ = __nonzero__ 6996 6997 6998 6999 def IsValid(self): 7000 r"""IsValid(SBInstructionList self) -> bool""" 7001 return _lldb.SBInstructionList_IsValid(self) 7002 7003 def GetSize(self): 7004 r"""GetSize(SBInstructionList self) -> size_t""" 7005 return _lldb.SBInstructionList_GetSize(self) 7006 7007 def GetInstructionAtIndex(self, idx): 7008 r"""GetInstructionAtIndex(SBInstructionList self, uint32_t idx) -> SBInstruction""" 7009 return _lldb.SBInstructionList_GetInstructionAtIndex(self, idx) 7010 7011 def GetInstructionsCount(self, start, end, canSetBreakpoint=False): 7012 r"""GetInstructionsCount(SBInstructionList self, SBAddress start, SBAddress end, bool canSetBreakpoint=False) -> size_t""" 7013 return _lldb.SBInstructionList_GetInstructionsCount(self, start, end, canSetBreakpoint) 7014 7015 def Clear(self): 7016 r"""Clear(SBInstructionList self)""" 7017 return _lldb.SBInstructionList_Clear(self) 7018 7019 def AppendInstruction(self, inst): 7020 r"""AppendInstruction(SBInstructionList self, SBInstruction inst)""" 7021 return _lldb.SBInstructionList_AppendInstruction(self, inst) 7022 7023 def Print(self, *args): 7024 r""" 7025 Print(SBInstructionList self, SBFile out) 7026 Print(SBInstructionList self, lldb::FileSP BORROWED) 7027 """ 7028 return _lldb.SBInstructionList_Print(self, *args) 7029 7030 def GetDescription(self, description): 7031 r"""GetDescription(SBInstructionList self, SBStream description) -> bool""" 7032 return _lldb.SBInstructionList_GetDescription(self, description) 7033 7034 def DumpEmulationForAllInstructions(self, triple): 7035 r"""DumpEmulationForAllInstructions(SBInstructionList self, char const * triple) -> bool""" 7036 return _lldb.SBInstructionList_DumpEmulationForAllInstructions(self, triple) 7037 7038 def __repr__(self): 7039 r"""__repr__(SBInstructionList self) -> std::string""" 7040 return _lldb.SBInstructionList___repr__(self) 7041 7042 def __iter__(self): 7043 '''Iterate over all instructions in a lldb.SBInstructionList 7044 object.''' 7045 return lldb_iter(self, 'GetSize', 'GetInstructionAtIndex') 7046 7047 def __len__(self): 7048 '''Access len of the instruction list.''' 7049 return int(self.GetSize()) 7050 7051 def __getitem__(self, key): 7052 '''Access instructions by integer index for array access or by lldb.SBAddress to find an instruction that matches a section offset address object.''' 7053 if type(key) is int: 7054 # Find an instruction by index 7055 count = len(self) 7056 if -count <= key < count: 7057 key %= count 7058 return self.GetInstructionAtIndex(key) 7059 elif type(key) is SBAddress: 7060 # Find an instruction using a lldb.SBAddress object 7061 lookup_file_addr = key.file_addr 7062 closest_inst = None 7063 for idx in range(self.GetSize()): 7064 inst = self.GetInstructionAtIndex(idx) 7065 inst_file_addr = inst.addr.file_addr 7066 if inst_file_addr == lookup_file_addr: 7067 return inst 7068 elif inst_file_addr > lookup_file_addr: 7069 return closest_inst 7070 else: 7071 closest_inst = inst 7072 return None 7073 7074 7075# Register SBInstructionList in _lldb: 7076_lldb.SBInstructionList_swigregister(SBInstructionList) 7077eLanguageNameAda = _lldb.eLanguageNameAda 7078 7079eLanguageNameBLISS = _lldb.eLanguageNameBLISS 7080 7081eLanguageNameC = _lldb.eLanguageNameC 7082 7083eLanguageNameC_plus_plus = _lldb.eLanguageNameC_plus_plus 7084 7085eLanguageNameCobol = _lldb.eLanguageNameCobol 7086 7087eLanguageNameCrystal = _lldb.eLanguageNameCrystal 7088 7089eLanguageNameD = _lldb.eLanguageNameD 7090 7091eLanguageNameDylan = _lldb.eLanguageNameDylan 7092 7093eLanguageNameFortran = _lldb.eLanguageNameFortran 7094 7095eLanguageNameGo = _lldb.eLanguageNameGo 7096 7097eLanguageNameHaskell = _lldb.eLanguageNameHaskell 7098 7099eLanguageNameJava = _lldb.eLanguageNameJava 7100 7101eLanguageNameJulia = _lldb.eLanguageNameJulia 7102 7103eLanguageNameKotlin = _lldb.eLanguageNameKotlin 7104 7105eLanguageNameModula2 = _lldb.eLanguageNameModula2 7106 7107eLanguageNameModula3 = _lldb.eLanguageNameModula3 7108 7109eLanguageNameObjC = _lldb.eLanguageNameObjC 7110 7111eLanguageNameObjC_plus_plus = _lldb.eLanguageNameObjC_plus_plus 7112 7113eLanguageNameOCaml = _lldb.eLanguageNameOCaml 7114 7115eLanguageNameOpenCL_C = _lldb.eLanguageNameOpenCL_C 7116 7117eLanguageNamePascal = _lldb.eLanguageNamePascal 7118 7119eLanguageNamePLI = _lldb.eLanguageNamePLI 7120 7121eLanguageNamePython = _lldb.eLanguageNamePython 7122 7123eLanguageNameRenderScript = _lldb.eLanguageNameRenderScript 7124 7125eLanguageNameRust = _lldb.eLanguageNameRust 7126 7127eLanguageNameSwift = _lldb.eLanguageNameSwift 7128 7129eLanguageNameUPC = _lldb.eLanguageNameUPC 7130 7131eLanguageNameZig = _lldb.eLanguageNameZig 7132 7133eLanguageNameAssembly = _lldb.eLanguageNameAssembly 7134 7135eLanguageNameC_sharp = _lldb.eLanguageNameC_sharp 7136 7137eLanguageNameMojo = _lldb.eLanguageNameMojo 7138 7139eLanguageNameGLSL = _lldb.eLanguageNameGLSL 7140 7141eLanguageNameGLSL_ES = _lldb.eLanguageNameGLSL_ES 7142 7143eLanguageNameHLSL = _lldb.eLanguageNameHLSL 7144 7145eLanguageNameOpenCL_CPP = _lldb.eLanguageNameOpenCL_CPP 7146 7147eLanguageNameCPP_for_OpenCL = _lldb.eLanguageNameCPP_for_OpenCL 7148 7149eLanguageNameSYCL = _lldb.eLanguageNameSYCL 7150 7151eLanguageNameRuby = _lldb.eLanguageNameRuby 7152 7153eLanguageNameMove = _lldb.eLanguageNameMove 7154 7155eLanguageNameHylo = _lldb.eLanguageNameHylo 7156 7157class SBLanguageRuntime(object): 7158 r"""Utility functions for :ref:`LanguageType`""" 7159 7160 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7161 __repr__ = _swig_repr 7162 7163 @staticmethod 7164 def GetLanguageTypeFromString(string): 7165 r"""GetLanguageTypeFromString(char const * string) -> lldb::LanguageType""" 7166 return _lldb.SBLanguageRuntime_GetLanguageTypeFromString(string) 7167 7168 @staticmethod 7169 def GetNameForLanguageType(language): 7170 r"""GetNameForLanguageType(lldb::LanguageType language) -> char const *""" 7171 return _lldb.SBLanguageRuntime_GetNameForLanguageType(language) 7172 7173 @staticmethod 7174 def LanguageIsCPlusPlus(language): 7175 r"""LanguageIsCPlusPlus(lldb::LanguageType language) -> bool""" 7176 return _lldb.SBLanguageRuntime_LanguageIsCPlusPlus(language) 7177 7178 @staticmethod 7179 def LanguageIsObjC(language): 7180 r"""LanguageIsObjC(lldb::LanguageType language) -> bool""" 7181 return _lldb.SBLanguageRuntime_LanguageIsObjC(language) 7182 7183 @staticmethod 7184 def LanguageIsCFamily(language): 7185 r"""LanguageIsCFamily(lldb::LanguageType language) -> bool""" 7186 return _lldb.SBLanguageRuntime_LanguageIsCFamily(language) 7187 7188 @staticmethod 7189 def SupportsExceptionBreakpointsOnThrow(language): 7190 r"""SupportsExceptionBreakpointsOnThrow(lldb::LanguageType language) -> bool""" 7191 return _lldb.SBLanguageRuntime_SupportsExceptionBreakpointsOnThrow(language) 7192 7193 @staticmethod 7194 def SupportsExceptionBreakpointsOnCatch(language): 7195 r"""SupportsExceptionBreakpointsOnCatch(lldb::LanguageType language) -> bool""" 7196 return _lldb.SBLanguageRuntime_SupportsExceptionBreakpointsOnCatch(language) 7197 7198 @staticmethod 7199 def GetThrowKeywordForLanguage(language): 7200 r"""GetThrowKeywordForLanguage(lldb::LanguageType language) -> char const *""" 7201 return _lldb.SBLanguageRuntime_GetThrowKeywordForLanguage(language) 7202 7203 @staticmethod 7204 def GetCatchKeywordForLanguage(language): 7205 r"""GetCatchKeywordForLanguage(lldb::LanguageType language) -> char const *""" 7206 return _lldb.SBLanguageRuntime_GetCatchKeywordForLanguage(language) 7207 7208 def __init__(self): 7209 r"""__init__(SBLanguageRuntime self) -> SBLanguageRuntime""" 7210 _lldb.SBLanguageRuntime_swiginit(self, _lldb.new_SBLanguageRuntime()) 7211 __swig_destroy__ = _lldb.delete_SBLanguageRuntime 7212 7213# Register SBLanguageRuntime in _lldb: 7214_lldb.SBLanguageRuntime_swigregister(SBLanguageRuntime) 7215class SBLaunchInfo(object): 7216 r"""Describes how a target or program should be launched.""" 7217 7218 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7219 __repr__ = _swig_repr 7220 7221 def __init__(self, argv): 7222 r"""__init__(SBLaunchInfo self, char const ** argv) -> SBLaunchInfo""" 7223 _lldb.SBLaunchInfo_swiginit(self, _lldb.new_SBLaunchInfo(argv)) 7224 __swig_destroy__ = _lldb.delete_SBLaunchInfo 7225 7226 def GetProcessID(self): 7227 r"""GetProcessID(SBLaunchInfo self) -> lldb::pid_t""" 7228 return _lldb.SBLaunchInfo_GetProcessID(self) 7229 7230 def GetUserID(self): 7231 r"""GetUserID(SBLaunchInfo self) -> uint32_t""" 7232 return _lldb.SBLaunchInfo_GetUserID(self) 7233 7234 def GetGroupID(self): 7235 r"""GetGroupID(SBLaunchInfo self) -> uint32_t""" 7236 return _lldb.SBLaunchInfo_GetGroupID(self) 7237 7238 def UserIDIsValid(self): 7239 r"""UserIDIsValid(SBLaunchInfo self) -> bool""" 7240 return _lldb.SBLaunchInfo_UserIDIsValid(self) 7241 7242 def GroupIDIsValid(self): 7243 r"""GroupIDIsValid(SBLaunchInfo self) -> bool""" 7244 return _lldb.SBLaunchInfo_GroupIDIsValid(self) 7245 7246 def SetUserID(self, uid): 7247 r"""SetUserID(SBLaunchInfo self, uint32_t uid)""" 7248 return _lldb.SBLaunchInfo_SetUserID(self, uid) 7249 7250 def SetGroupID(self, gid): 7251 r"""SetGroupID(SBLaunchInfo self, uint32_t gid)""" 7252 return _lldb.SBLaunchInfo_SetGroupID(self, gid) 7253 7254 def GetExecutableFile(self): 7255 r"""GetExecutableFile(SBLaunchInfo self) -> SBFileSpec""" 7256 return _lldb.SBLaunchInfo_GetExecutableFile(self) 7257 7258 def SetExecutableFile(self, exe_file, add_as_first_arg): 7259 r"""SetExecutableFile(SBLaunchInfo self, SBFileSpec exe_file, bool add_as_first_arg)""" 7260 return _lldb.SBLaunchInfo_SetExecutableFile(self, exe_file, add_as_first_arg) 7261 7262 def GetListener(self): 7263 r"""GetListener(SBLaunchInfo self) -> SBListener""" 7264 return _lldb.SBLaunchInfo_GetListener(self) 7265 7266 def SetListener(self, listener): 7267 r"""SetListener(SBLaunchInfo self, SBListener listener)""" 7268 return _lldb.SBLaunchInfo_SetListener(self, listener) 7269 7270 def GetShadowListener(self): 7271 r"""GetShadowListener(SBLaunchInfo self) -> SBListener""" 7272 return _lldb.SBLaunchInfo_GetShadowListener(self) 7273 7274 def SetShadowListener(self, listener): 7275 r"""SetShadowListener(SBLaunchInfo self, SBListener listener)""" 7276 return _lldb.SBLaunchInfo_SetShadowListener(self, listener) 7277 7278 def GetNumArguments(self): 7279 r"""GetNumArguments(SBLaunchInfo self) -> uint32_t""" 7280 return _lldb.SBLaunchInfo_GetNumArguments(self) 7281 7282 def GetArgumentAtIndex(self, idx): 7283 r"""GetArgumentAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *""" 7284 return _lldb.SBLaunchInfo_GetArgumentAtIndex(self, idx) 7285 7286 def SetArguments(self, argv, append): 7287 r"""SetArguments(SBLaunchInfo self, char const ** argv, bool append)""" 7288 return _lldb.SBLaunchInfo_SetArguments(self, argv, append) 7289 7290 def GetNumEnvironmentEntries(self): 7291 r"""GetNumEnvironmentEntries(SBLaunchInfo self) -> uint32_t""" 7292 return _lldb.SBLaunchInfo_GetNumEnvironmentEntries(self) 7293 7294 def GetEnvironmentEntryAtIndex(self, idx): 7295 r"""GetEnvironmentEntryAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *""" 7296 return _lldb.SBLaunchInfo_GetEnvironmentEntryAtIndex(self, idx) 7297 7298 def SetEnvironmentEntries(self, envp, append): 7299 r"""SetEnvironmentEntries(SBLaunchInfo self, char const ** envp, bool append)""" 7300 return _lldb.SBLaunchInfo_SetEnvironmentEntries(self, envp, append) 7301 7302 def SetEnvironment(self, env, append): 7303 r"""SetEnvironment(SBLaunchInfo self, SBEnvironment env, bool append)""" 7304 return _lldb.SBLaunchInfo_SetEnvironment(self, env, append) 7305 7306 def GetEnvironment(self): 7307 r"""GetEnvironment(SBLaunchInfo self) -> SBEnvironment""" 7308 return _lldb.SBLaunchInfo_GetEnvironment(self) 7309 7310 def Clear(self): 7311 r"""Clear(SBLaunchInfo self)""" 7312 return _lldb.SBLaunchInfo_Clear(self) 7313 7314 def GetWorkingDirectory(self): 7315 r"""GetWorkingDirectory(SBLaunchInfo self) -> char const *""" 7316 return _lldb.SBLaunchInfo_GetWorkingDirectory(self) 7317 7318 def SetWorkingDirectory(self, working_dir): 7319 r"""SetWorkingDirectory(SBLaunchInfo self, char const * working_dir)""" 7320 return _lldb.SBLaunchInfo_SetWorkingDirectory(self, working_dir) 7321 7322 def GetLaunchFlags(self): 7323 r"""GetLaunchFlags(SBLaunchInfo self) -> uint32_t""" 7324 return _lldb.SBLaunchInfo_GetLaunchFlags(self) 7325 7326 def SetLaunchFlags(self, flags): 7327 r"""SetLaunchFlags(SBLaunchInfo self, uint32_t flags)""" 7328 return _lldb.SBLaunchInfo_SetLaunchFlags(self, flags) 7329 7330 def GetProcessPluginName(self): 7331 r"""GetProcessPluginName(SBLaunchInfo self) -> char const *""" 7332 return _lldb.SBLaunchInfo_GetProcessPluginName(self) 7333 7334 def SetProcessPluginName(self, plugin_name): 7335 r"""SetProcessPluginName(SBLaunchInfo self, char const * plugin_name)""" 7336 return _lldb.SBLaunchInfo_SetProcessPluginName(self, plugin_name) 7337 7338 def GetShell(self): 7339 r"""GetShell(SBLaunchInfo self) -> char const *""" 7340 return _lldb.SBLaunchInfo_GetShell(self) 7341 7342 def SetShell(self, path): 7343 r"""SetShell(SBLaunchInfo self, char const * path)""" 7344 return _lldb.SBLaunchInfo_SetShell(self, path) 7345 7346 def GetShellExpandArguments(self): 7347 r"""GetShellExpandArguments(SBLaunchInfo self) -> bool""" 7348 return _lldb.SBLaunchInfo_GetShellExpandArguments(self) 7349 7350 def SetShellExpandArguments(self, expand): 7351 r"""SetShellExpandArguments(SBLaunchInfo self, bool expand)""" 7352 return _lldb.SBLaunchInfo_SetShellExpandArguments(self, expand) 7353 7354 def GetResumeCount(self): 7355 r"""GetResumeCount(SBLaunchInfo self) -> uint32_t""" 7356 return _lldb.SBLaunchInfo_GetResumeCount(self) 7357 7358 def SetResumeCount(self, c): 7359 r"""SetResumeCount(SBLaunchInfo self, uint32_t c)""" 7360 return _lldb.SBLaunchInfo_SetResumeCount(self, c) 7361 7362 def AddCloseFileAction(self, fd): 7363 r"""AddCloseFileAction(SBLaunchInfo self, int fd) -> bool""" 7364 return _lldb.SBLaunchInfo_AddCloseFileAction(self, fd) 7365 7366 def AddDuplicateFileAction(self, fd, dup_fd): 7367 r"""AddDuplicateFileAction(SBLaunchInfo self, int fd, int dup_fd) -> bool""" 7368 return _lldb.SBLaunchInfo_AddDuplicateFileAction(self, fd, dup_fd) 7369 7370 def AddOpenFileAction(self, fd, path, read, write): 7371 r"""AddOpenFileAction(SBLaunchInfo self, int fd, char const * path, bool read, bool write) -> bool""" 7372 return _lldb.SBLaunchInfo_AddOpenFileAction(self, fd, path, read, write) 7373 7374 def AddSuppressFileAction(self, fd, read, write): 7375 r"""AddSuppressFileAction(SBLaunchInfo self, int fd, bool read, bool write) -> bool""" 7376 return _lldb.SBLaunchInfo_AddSuppressFileAction(self, fd, read, write) 7377 7378 def SetLaunchEventData(self, data): 7379 r"""SetLaunchEventData(SBLaunchInfo self, char const * data)""" 7380 return _lldb.SBLaunchInfo_SetLaunchEventData(self, data) 7381 7382 def GetLaunchEventData(self): 7383 r"""GetLaunchEventData(SBLaunchInfo self) -> char const *""" 7384 return _lldb.SBLaunchInfo_GetLaunchEventData(self) 7385 7386 def GetDetachOnError(self): 7387 r"""GetDetachOnError(SBLaunchInfo self) -> bool""" 7388 return _lldb.SBLaunchInfo_GetDetachOnError(self) 7389 7390 def SetDetachOnError(self, enable): 7391 r"""SetDetachOnError(SBLaunchInfo self, bool enable)""" 7392 return _lldb.SBLaunchInfo_SetDetachOnError(self, enable) 7393 7394 def GetScriptedProcessClassName(self): 7395 r"""GetScriptedProcessClassName(SBLaunchInfo self) -> char const *""" 7396 return _lldb.SBLaunchInfo_GetScriptedProcessClassName(self) 7397 7398 def SetScriptedProcessClassName(self, class_name): 7399 r"""SetScriptedProcessClassName(SBLaunchInfo self, char const * class_name)""" 7400 return _lldb.SBLaunchInfo_SetScriptedProcessClassName(self, class_name) 7401 7402 def GetScriptedProcessDictionary(self): 7403 r"""GetScriptedProcessDictionary(SBLaunchInfo self) -> SBStructuredData""" 7404 return _lldb.SBLaunchInfo_GetScriptedProcessDictionary(self) 7405 7406 def SetScriptedProcessDictionary(self, dict): 7407 r"""SetScriptedProcessDictionary(SBLaunchInfo self, SBStructuredData dict)""" 7408 return _lldb.SBLaunchInfo_SetScriptedProcessDictionary(self, dict) 7409 7410# Register SBLaunchInfo in _lldb: 7411_lldb.SBLaunchInfo_swigregister(SBLaunchInfo) 7412class SBLineEntry(object): 7413 r""" 7414 Specifies an association with a contiguous range of instructions and 7415 a source file location. 7416 7417 :py:class:`SBCompileUnit` contains SBLineEntry(s). For example, :: 7418 7419 for lineEntry in compileUnit: 7420 print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()), 7421 lineEntry.GetLine())) 7422 print('start addr: %s' % str(lineEntry.GetStartAddress())) 7423 print('end addr: %s' % str(lineEntry.GetEndAddress())) 7424 7425 produces: :: 7426 7427 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20 7428 start addr: a.out[0x100000d98] 7429 end addr: a.out[0x100000da3] 7430 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21 7431 start addr: a.out[0x100000da3] 7432 end addr: a.out[0x100000da9] 7433 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22 7434 start addr: a.out[0x100000da9] 7435 end addr: a.out[0x100000db6] 7436 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23 7437 start addr: a.out[0x100000db6] 7438 end addr: a.out[0x100000dbc] 7439 ... 7440 7441 See also :py:class:`SBCompileUnit` . 7442 """ 7443 7444 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7445 7446 def __init__(self, *args): 7447 r""" 7448 __init__(SBLineEntry self) -> SBLineEntry 7449 __init__(SBLineEntry self, SBLineEntry rhs) -> SBLineEntry 7450 """ 7451 _lldb.SBLineEntry_swiginit(self, _lldb.new_SBLineEntry(*args)) 7452 __swig_destroy__ = _lldb.delete_SBLineEntry 7453 7454 def GetStartAddress(self): 7455 r"""GetStartAddress(SBLineEntry self) -> SBAddress""" 7456 return _lldb.SBLineEntry_GetStartAddress(self) 7457 7458 def GetEndAddress(self): 7459 r"""GetEndAddress(SBLineEntry self) -> SBAddress""" 7460 return _lldb.SBLineEntry_GetEndAddress(self) 7461 7462 def GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions): 7463 r"""GetSameLineContiguousAddressRangeEnd(SBLineEntry self, bool include_inlined_functions) -> SBAddress""" 7464 return _lldb.SBLineEntry_GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions) 7465 7466 def __nonzero__(self): 7467 return _lldb.SBLineEntry___nonzero__(self) 7468 __bool__ = __nonzero__ 7469 7470 7471 7472 def IsValid(self): 7473 r"""IsValid(SBLineEntry self) -> bool""" 7474 return _lldb.SBLineEntry_IsValid(self) 7475 7476 def GetFileSpec(self): 7477 r"""GetFileSpec(SBLineEntry self) -> SBFileSpec""" 7478 return _lldb.SBLineEntry_GetFileSpec(self) 7479 7480 def GetLine(self): 7481 r"""GetLine(SBLineEntry self) -> uint32_t""" 7482 return _lldb.SBLineEntry_GetLine(self) 7483 7484 def GetColumn(self): 7485 r"""GetColumn(SBLineEntry self) -> uint32_t""" 7486 return _lldb.SBLineEntry_GetColumn(self) 7487 7488 def SetFileSpec(self, filespec): 7489 r"""SetFileSpec(SBLineEntry self, SBFileSpec filespec)""" 7490 return _lldb.SBLineEntry_SetFileSpec(self, filespec) 7491 7492 def SetLine(self, line): 7493 r"""SetLine(SBLineEntry self, uint32_t line)""" 7494 return _lldb.SBLineEntry_SetLine(self, line) 7495 7496 def SetColumn(self, column): 7497 r"""SetColumn(SBLineEntry self, uint32_t column)""" 7498 return _lldb.SBLineEntry_SetColumn(self, column) 7499 7500 def __eq__(self, rhs): 7501 r"""__eq__(SBLineEntry self, SBLineEntry rhs) -> bool""" 7502 return _lldb.SBLineEntry___eq__(self, rhs) 7503 7504 def __ne__(self, rhs): 7505 r"""__ne__(SBLineEntry self, SBLineEntry rhs) -> bool""" 7506 return _lldb.SBLineEntry___ne__(self, rhs) 7507 7508 def GetDescription(self, description): 7509 r"""GetDescription(SBLineEntry self, SBStream description) -> bool""" 7510 return _lldb.SBLineEntry_GetDescription(self, description) 7511 7512 def __repr__(self): 7513 r"""__repr__(SBLineEntry self) -> std::string""" 7514 return _lldb.SBLineEntry___repr__(self) 7515 7516 # operator== is a free function, which swig does not handle, so we inject 7517 # our own equality operator here 7518 def __eq__(self, other): 7519 return not self.__ne__(other) 7520 7521 def __int__(self): 7522 return self.GetLine() 7523 7524 def __hex__(self): 7525 return self.GetStartAddress() 7526 file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''') 7527 line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''') 7528 column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''') 7529 addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this line entry.''') 7530 end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this line entry.''') 7531 7532 7533 def __eq__(self, rhs): 7534 if not isinstance(rhs, type(self)): 7535 return False 7536 7537 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 7538 7539 def __ne__(self, rhs): 7540 if not isinstance(rhs, type(self)): 7541 return True 7542 7543 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 7544 7545 7546# Register SBLineEntry in _lldb: 7547_lldb.SBLineEntry_swigregister(SBLineEntry) 7548class SBListener(object): 7549 r""" 7550 API clients can register its own listener to debugger events. 7551 7552 See also :py:class:`SBEvent` for example usage of creating and adding a listener. 7553 """ 7554 7555 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7556 __repr__ = _swig_repr 7557 7558 def __init__(self, *args): 7559 r""" 7560 __init__(SBListener self) -> SBListener 7561 __init__(SBListener self, char const * name) -> SBListener 7562 __init__(SBListener self, SBListener rhs) -> SBListener 7563 """ 7564 _lldb.SBListener_swiginit(self, _lldb.new_SBListener(*args)) 7565 __swig_destroy__ = _lldb.delete_SBListener 7566 7567 def AddEvent(self, event): 7568 r"""AddEvent(SBListener self, SBEvent event)""" 7569 return _lldb.SBListener_AddEvent(self, event) 7570 7571 def Clear(self): 7572 r"""Clear(SBListener self)""" 7573 return _lldb.SBListener_Clear(self) 7574 7575 def __nonzero__(self): 7576 return _lldb.SBListener___nonzero__(self) 7577 __bool__ = __nonzero__ 7578 7579 7580 7581 def IsValid(self): 7582 r"""IsValid(SBListener self) -> bool""" 7583 return _lldb.SBListener_IsValid(self) 7584 7585 def StartListeningForEventClass(self, debugger, broadcaster_class, event_mask): 7586 r"""StartListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> uint32_t""" 7587 return _lldb.SBListener_StartListeningForEventClass(self, debugger, broadcaster_class, event_mask) 7588 7589 def StopListeningForEventClass(self, debugger, broadcaster_class, event_mask): 7590 r"""StopListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> bool""" 7591 return _lldb.SBListener_StopListeningForEventClass(self, debugger, broadcaster_class, event_mask) 7592 7593 def StartListeningForEvents(self, broadcaster, event_mask): 7594 r"""StartListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> uint32_t""" 7595 return _lldb.SBListener_StartListeningForEvents(self, broadcaster, event_mask) 7596 7597 def StopListeningForEvents(self, broadcaster, event_mask): 7598 r"""StopListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> bool""" 7599 return _lldb.SBListener_StopListeningForEvents(self, broadcaster, event_mask) 7600 7601 def WaitForEvent(self, num_seconds, event): 7602 r"""WaitForEvent(SBListener self, uint32_t num_seconds, SBEvent event) -> bool""" 7603 return _lldb.SBListener_WaitForEvent(self, num_seconds, event) 7604 7605 def WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event): 7606 r"""WaitForEventForBroadcaster(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7607 return _lldb.SBListener_WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event) 7608 7609 def WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event): 7610 r"""WaitForEventForBroadcasterWithType(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7611 return _lldb.SBListener_WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event) 7612 7613 def PeekAtNextEvent(self, sb_event): 7614 r"""PeekAtNextEvent(SBListener self, SBEvent sb_event) -> bool""" 7615 return _lldb.SBListener_PeekAtNextEvent(self, sb_event) 7616 7617 def PeekAtNextEventForBroadcaster(self, broadcaster, sb_event): 7618 r"""PeekAtNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7619 return _lldb.SBListener_PeekAtNextEventForBroadcaster(self, broadcaster, sb_event) 7620 7621 def PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event): 7622 r"""PeekAtNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7623 return _lldb.SBListener_PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event) 7624 7625 def GetNextEvent(self, sb_event): 7626 r"""GetNextEvent(SBListener self, SBEvent sb_event) -> bool""" 7627 return _lldb.SBListener_GetNextEvent(self, sb_event) 7628 7629 def GetNextEventForBroadcaster(self, broadcaster, sb_event): 7630 r"""GetNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7631 return _lldb.SBListener_GetNextEventForBroadcaster(self, broadcaster, sb_event) 7632 7633 def GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event): 7634 r"""GetNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7635 return _lldb.SBListener_GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event) 7636 7637 def HandleBroadcastEvent(self, event): 7638 r"""HandleBroadcastEvent(SBListener self, SBEvent event) -> bool""" 7639 return _lldb.SBListener_HandleBroadcastEvent(self, event) 7640 7641# Register SBListener in _lldb: 7642_lldb.SBListener_swigregister(SBListener) 7643class SBMemoryRegionInfo(object): 7644 r"""API clients can get information about memory regions in processes.""" 7645 7646 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7647 7648 def __init__(self, *args): 7649 r""" 7650 __init__(SBMemoryRegionInfo self) -> SBMemoryRegionInfo 7651 __init__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> SBMemoryRegionInfo 7652 __init__(SBMemoryRegionInfo self, char const * name, lldb::addr_t begin, lldb::addr_t end, uint32_t permissions, bool mapped, bool stack_memory=False) -> SBMemoryRegionInfo 7653 """ 7654 _lldb.SBMemoryRegionInfo_swiginit(self, _lldb.new_SBMemoryRegionInfo(*args)) 7655 __swig_destroy__ = _lldb.delete_SBMemoryRegionInfo 7656 7657 def Clear(self): 7658 r"""Clear(SBMemoryRegionInfo self)""" 7659 return _lldb.SBMemoryRegionInfo_Clear(self) 7660 7661 def GetRegionBase(self): 7662 r"""GetRegionBase(SBMemoryRegionInfo self) -> lldb::addr_t""" 7663 return _lldb.SBMemoryRegionInfo_GetRegionBase(self) 7664 7665 def GetRegionEnd(self): 7666 r"""GetRegionEnd(SBMemoryRegionInfo self) -> lldb::addr_t""" 7667 return _lldb.SBMemoryRegionInfo_GetRegionEnd(self) 7668 7669 def IsReadable(self): 7670 r"""IsReadable(SBMemoryRegionInfo self) -> bool""" 7671 return _lldb.SBMemoryRegionInfo_IsReadable(self) 7672 7673 def IsWritable(self): 7674 r"""IsWritable(SBMemoryRegionInfo self) -> bool""" 7675 return _lldb.SBMemoryRegionInfo_IsWritable(self) 7676 7677 def IsExecutable(self): 7678 r"""IsExecutable(SBMemoryRegionInfo self) -> bool""" 7679 return _lldb.SBMemoryRegionInfo_IsExecutable(self) 7680 7681 def IsMapped(self): 7682 r"""IsMapped(SBMemoryRegionInfo self) -> bool""" 7683 return _lldb.SBMemoryRegionInfo_IsMapped(self) 7684 7685 def GetName(self): 7686 r"""GetName(SBMemoryRegionInfo self) -> char const *""" 7687 return _lldb.SBMemoryRegionInfo_GetName(self) 7688 7689 def HasDirtyMemoryPageList(self): 7690 r""" 7691 HasDirtyMemoryPageList(SBMemoryRegionInfo self) -> bool 7692 7693 Returns whether this memory region has a list of modified (dirty) 7694 pages available or not. When calling GetNumDirtyPages(), you will 7695 have 0 returned for both "dirty page list is not known" and 7696 "empty dirty page list" (that is, no modified pages in this 7697 memory region). You must use this method to disambiguate. 7698 """ 7699 return _lldb.SBMemoryRegionInfo_HasDirtyMemoryPageList(self) 7700 7701 def GetNumDirtyPages(self): 7702 r""" 7703 GetNumDirtyPages(SBMemoryRegionInfo self) -> uint32_t 7704 7705 Return the number of dirty (modified) memory pages in this 7706 memory region, if available. You must use the 7707 SBMemoryRegionInfo::HasDirtyMemoryPageList() method to 7708 determine if a dirty memory list is available; it will depend 7709 on the target system can provide this information. 7710 """ 7711 return _lldb.SBMemoryRegionInfo_GetNumDirtyPages(self) 7712 7713 def GetDirtyPageAddressAtIndex(self, idx): 7714 r""" 7715 GetDirtyPageAddressAtIndex(SBMemoryRegionInfo self, uint32_t idx) -> lldb::addr_t 7716 7717 Return the address of a modified, or dirty, page of memory. 7718 If the provided index is out of range, or this memory region 7719 does not have dirty page information, LLDB_INVALID_ADDRESS 7720 is returned. 7721 """ 7722 return _lldb.SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(self, idx) 7723 7724 def GetPageSize(self): 7725 r""" 7726 GetPageSize(SBMemoryRegionInfo self) -> int 7727 7728 Return the size of pages in this memory region. 0 will be returned 7729 if this information was unavailable. 7730 """ 7731 return _lldb.SBMemoryRegionInfo_GetPageSize(self) 7732 7733 def __eq__(self, rhs): 7734 r"""__eq__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool""" 7735 return _lldb.SBMemoryRegionInfo___eq__(self, rhs) 7736 7737 def __ne__(self, rhs): 7738 r"""__ne__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool""" 7739 return _lldb.SBMemoryRegionInfo___ne__(self, rhs) 7740 7741 def GetDescription(self, description): 7742 r"""GetDescription(SBMemoryRegionInfo self, SBStream description) -> bool""" 7743 return _lldb.SBMemoryRegionInfo_GetDescription(self, description) 7744 7745 def __repr__(self): 7746 r"""__repr__(SBMemoryRegionInfo self) -> std::string""" 7747 return _lldb.SBMemoryRegionInfo___repr__(self) 7748 7749 # operator== is a free function, which swig does not handle, so we inject 7750 # our own equality operator here 7751 def __eq__(self, other): 7752 return not self.__ne__(other) 7753 7754 def __hex__(self): 7755 return self.GetRegionBase() 7756 7757 def __len__(self): 7758 return self.GetRegionEnd() - self.GetRegionBase() 7759 7760 7761# Register SBMemoryRegionInfo in _lldb: 7762_lldb.SBMemoryRegionInfo_swigregister(SBMemoryRegionInfo) 7763class SBMemoryRegionInfoList(object): 7764 r"""Represents a list of :py:class:`SBMemoryRegionInfo`.""" 7765 7766 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7767 __repr__ = _swig_repr 7768 7769 def __init__(self, *args): 7770 r""" 7771 __init__(SBMemoryRegionInfoList self) -> SBMemoryRegionInfoList 7772 __init__(SBMemoryRegionInfoList self, SBMemoryRegionInfoList rhs) -> SBMemoryRegionInfoList 7773 """ 7774 _lldb.SBMemoryRegionInfoList_swiginit(self, _lldb.new_SBMemoryRegionInfoList(*args)) 7775 __swig_destroy__ = _lldb.delete_SBMemoryRegionInfoList 7776 7777 def GetSize(self): 7778 r"""GetSize(SBMemoryRegionInfoList self) -> uint32_t""" 7779 return _lldb.SBMemoryRegionInfoList_GetSize(self) 7780 7781 def GetMemoryRegionContainingAddress(self, addr, region_info): 7782 r"""GetMemoryRegionContainingAddress(SBMemoryRegionInfoList self, lldb::addr_t addr, SBMemoryRegionInfo region_info) -> bool""" 7783 return _lldb.SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(self, addr, region_info) 7784 7785 def GetMemoryRegionAtIndex(self, idx, region_info): 7786 r"""GetMemoryRegionAtIndex(SBMemoryRegionInfoList self, uint32_t idx, SBMemoryRegionInfo region_info) -> bool""" 7787 return _lldb.SBMemoryRegionInfoList_GetMemoryRegionAtIndex(self, idx, region_info) 7788 7789 def Append(self, *args): 7790 r""" 7791 Append(SBMemoryRegionInfoList self, SBMemoryRegionInfo region) 7792 Append(SBMemoryRegionInfoList self, SBMemoryRegionInfoList region_list) 7793 """ 7794 return _lldb.SBMemoryRegionInfoList_Append(self, *args) 7795 7796 def Clear(self): 7797 r"""Clear(SBMemoryRegionInfoList self)""" 7798 return _lldb.SBMemoryRegionInfoList_Clear(self) 7799 7800 def __len__(self): 7801 '''Return the number of memory region info in a lldb.SBMemoryRegionInfoList object.''' 7802 return self.GetSize() 7803 7804 def __iter__(self): 7805 '''Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.''' 7806 return lldb_iter(self, 'GetSize', 'GetMemoryRegionAtIndex') 7807 7808 7809# Register SBMemoryRegionInfoList in _lldb: 7810_lldb.SBMemoryRegionInfoList_swigregister(SBMemoryRegionInfoList) 7811class SBModule(object): 7812 r""" 7813 Represents an executable image and its associated object and symbol files. 7814 7815 The module is designed to be able to select a single slice of an 7816 executable image as it would appear on disk and during program 7817 execution. 7818 7819 You can retrieve SBModule from :py:class:`SBSymbolContext` , which in turn is available 7820 from SBFrame. 7821 7822 SBModule supports symbol iteration, for example, :: 7823 7824 for symbol in module: 7825 name = symbol.GetName() 7826 saddr = symbol.GetStartAddress() 7827 eaddr = symbol.GetEndAddress() 7828 7829 and rich comparison methods which allow the API program to use, :: 7830 7831 if thisModule == thatModule: 7832 print('This module is the same as that module') 7833 7834 to test module equality. A module also contains object file sections, namely 7835 :py:class:`SBSection` . SBModule supports section iteration through section_iter(), for 7836 example, :: 7837 7838 print('Number of sections: %d' % module.GetNumSections()) 7839 for sec in module.section_iter(): 7840 print(sec) 7841 7842 And to iterate the symbols within a SBSection, use symbol_in_section_iter(), :: 7843 7844 # Iterates the text section and prints each symbols within each sub-section. 7845 for subsec in text_sec: 7846 print(INDENT + repr(subsec)) 7847 for sym in exe_module.symbol_in_section_iter(subsec): 7848 print(INDENT2 + repr(sym)) 7849 print(INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType())) 7850 7851 produces this following output: :: 7852 7853 [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text 7854 id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870) 7855 symbol type: code 7856 id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0) 7857 symbol type: code 7858 id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c) 7859 symbol type: code 7860 id = {0x00000023}, name = 'start', address = 0x0000000100001780 7861 symbol type: code 7862 [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs 7863 id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62) 7864 symbol type: trampoline 7865 id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68) 7866 symbol type: trampoline 7867 id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e) 7868 symbol type: trampoline 7869 id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74) 7870 symbol type: trampoline 7871 id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a) 7872 symbol type: trampoline 7873 id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80) 7874 symbol type: trampoline 7875 id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86) 7876 symbol type: trampoline 7877 id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c) 7878 symbol type: trampoline 7879 id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92) 7880 symbol type: trampoline 7881 id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98) 7882 symbol type: trampoline 7883 id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e) 7884 symbol type: trampoline 7885 id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4) 7886 symbol type: trampoline 7887 [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper 7888 [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring 7889 [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info 7890 [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame 7891 7892 """ 7893 7894 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7895 7896 def __init__(self, *args): 7897 r""" 7898 __init__(SBModule self) -> SBModule 7899 __init__(SBModule self, SBModule rhs) -> SBModule 7900 __init__(SBModule self, SBModuleSpec module_spec) -> SBModule 7901 __init__(SBModule self, SBProcess process, lldb::addr_t header_addr) -> SBModule 7902 """ 7903 _lldb.SBModule_swiginit(self, _lldb.new_SBModule(*args)) 7904 __swig_destroy__ = _lldb.delete_SBModule 7905 7906 def __nonzero__(self): 7907 return _lldb.SBModule___nonzero__(self) 7908 __bool__ = __nonzero__ 7909 7910 7911 7912 def IsValid(self): 7913 r"""IsValid(SBModule self) -> bool""" 7914 return _lldb.SBModule_IsValid(self) 7915 7916 def Clear(self): 7917 r"""Clear(SBModule self)""" 7918 return _lldb.SBModule_Clear(self) 7919 7920 def IsFileBacked(self): 7921 r""" 7922 IsFileBacked(SBModule self) -> bool 7923 7924 Check if the module is file backed. 7925 7926 @return 7927 7928 True, if the module is backed by an object file on disk. 7929 False, if the module is backed by an object file in memory. 7930 """ 7931 return _lldb.SBModule_IsFileBacked(self) 7932 7933 def GetFileSpec(self): 7934 r""" 7935 GetFileSpec(SBModule self) -> SBFileSpec 7936 7937 Get const accessor for the module file specification. 7938 7939 This function returns the file for the module on the host system 7940 that is running LLDB. This can differ from the path on the 7941 platform since we might be doing remote debugging. 7942 7943 @return 7944 A const reference to the file specification object. 7945 """ 7946 return _lldb.SBModule_GetFileSpec(self) 7947 7948 def GetPlatformFileSpec(self): 7949 r""" 7950 GetPlatformFileSpec(SBModule self) -> SBFileSpec 7951 7952 Get accessor for the module platform file specification. 7953 7954 Platform file refers to the path of the module as it is known on 7955 the remote system on which it is being debugged. For local 7956 debugging this is always the same as Module::GetFileSpec(). But 7957 remote debugging might mention a file '/usr/lib/liba.dylib' 7958 which might be locally downloaded and cached. In this case the 7959 platform file could be something like: 7960 '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 7961 The file could also be cached in a local developer kit directory. 7962 7963 @return 7964 A const reference to the file specification object. 7965 """ 7966 return _lldb.SBModule_GetPlatformFileSpec(self) 7967 7968 def SetPlatformFileSpec(self, platform_file): 7969 r"""SetPlatformFileSpec(SBModule self, SBFileSpec platform_file) -> bool""" 7970 return _lldb.SBModule_SetPlatformFileSpec(self, platform_file) 7971 7972 def GetRemoteInstallFileSpec(self): 7973 r"""GetRemoteInstallFileSpec(SBModule self) -> SBFileSpec""" 7974 return _lldb.SBModule_GetRemoteInstallFileSpec(self) 7975 7976 def SetRemoteInstallFileSpec(self, file): 7977 r"""SetRemoteInstallFileSpec(SBModule self, SBFileSpec file) -> bool""" 7978 return _lldb.SBModule_SetRemoteInstallFileSpec(self, file) 7979 7980 def GetByteOrder(self): 7981 r"""GetByteOrder(SBModule self) -> lldb::ByteOrder""" 7982 return _lldb.SBModule_GetByteOrder(self) 7983 7984 def GetAddressByteSize(self): 7985 r"""GetAddressByteSize(SBModule self) -> uint32_t""" 7986 return _lldb.SBModule_GetAddressByteSize(self) 7987 7988 def GetTriple(self): 7989 r"""GetTriple(SBModule self) -> char const *""" 7990 return _lldb.SBModule_GetTriple(self) 7991 7992 def GetUUIDBytes(self): 7993 r"""GetUUIDBytes(SBModule self) -> uint8_t const *""" 7994 return _lldb.SBModule_GetUUIDBytes(self) 7995 7996 def GetUUIDString(self): 7997 r""" 7998 GetUUIDString(SBModule self) -> char const * 7999 Returns the UUID of the module as a Python string. 8000 """ 8001 return _lldb.SBModule_GetUUIDString(self) 8002 8003 def __eq__(self, rhs): 8004 r"""__eq__(SBModule self, SBModule rhs) -> bool""" 8005 return _lldb.SBModule___eq__(self, rhs) 8006 8007 def __ne__(self, rhs): 8008 r"""__ne__(SBModule self, SBModule rhs) -> bool""" 8009 return _lldb.SBModule___ne__(self, rhs) 8010 8011 def FindSection(self, sect_name): 8012 r"""FindSection(SBModule self, char const * sect_name) -> SBSection""" 8013 return _lldb.SBModule_FindSection(self, sect_name) 8014 8015 def ResolveFileAddress(self, vm_addr): 8016 r"""ResolveFileAddress(SBModule self, lldb::addr_t vm_addr) -> SBAddress""" 8017 return _lldb.SBModule_ResolveFileAddress(self, vm_addr) 8018 8019 def ResolveSymbolContextForAddress(self, addr, resolve_scope): 8020 r"""ResolveSymbolContextForAddress(SBModule self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext""" 8021 return _lldb.SBModule_ResolveSymbolContextForAddress(self, addr, resolve_scope) 8022 8023 def GetDescription(self, description): 8024 r"""GetDescription(SBModule self, SBStream description) -> bool""" 8025 return _lldb.SBModule_GetDescription(self, description) 8026 8027 def GetNumCompileUnits(self): 8028 r"""GetNumCompileUnits(SBModule self) -> uint32_t""" 8029 return _lldb.SBModule_GetNumCompileUnits(self) 8030 8031 def GetCompileUnitAtIndex(self, arg2): 8032 r"""GetCompileUnitAtIndex(SBModule self, uint32_t arg2) -> SBCompileUnit""" 8033 return _lldb.SBModule_GetCompileUnitAtIndex(self, arg2) 8034 8035 def FindCompileUnits(self, sb_file_spec): 8036 r""" 8037 FindCompileUnits(SBModule self, SBFileSpec sb_file_spec) -> SBSymbolContextList 8038 8039 Find compile units related to this module and passed source 8040 file. 8041 8042 @param[in] sb_file_spec 8043 A :py:class:`SBFileSpec` object that contains source file 8044 specification. 8045 8046 @return 8047 A :py:class:`SBSymbolContextList` that gets filled in with all of 8048 the symbol contexts for all the matches. 8049 """ 8050 return _lldb.SBModule_FindCompileUnits(self, sb_file_spec) 8051 8052 def GetNumSymbols(self): 8053 r"""GetNumSymbols(SBModule self) -> size_t""" 8054 return _lldb.SBModule_GetNumSymbols(self) 8055 8056 def GetSymbolAtIndex(self, idx): 8057 r"""GetSymbolAtIndex(SBModule self, size_t idx) -> SBSymbol""" 8058 return _lldb.SBModule_GetSymbolAtIndex(self, idx) 8059 8060 def FindSymbol(self, *args): 8061 r"""FindSymbol(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbol""" 8062 return _lldb.SBModule_FindSymbol(self, *args) 8063 8064 def FindSymbols(self, *args): 8065 r"""FindSymbols(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList""" 8066 return _lldb.SBModule_FindSymbols(self, *args) 8067 8068 def GetNumSections(self): 8069 r"""GetNumSections(SBModule self) -> size_t""" 8070 return _lldb.SBModule_GetNumSections(self) 8071 8072 def GetSectionAtIndex(self, idx): 8073 r"""GetSectionAtIndex(SBModule self, size_t idx) -> SBSection""" 8074 return _lldb.SBModule_GetSectionAtIndex(self, idx) 8075 8076 def FindFunctions(self, *args): 8077 r""" 8078 FindFunctions(SBModule self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList 8079 8080 Find functions by name. 8081 8082 @param[in] name 8083 The name of the function we are looking for. 8084 8085 @param[in] name_type_mask 8086 A logical OR of one or more FunctionNameType enum bits that 8087 indicate what kind of names should be used when doing the 8088 lookup. Bits include fully qualified names, base names, 8089 C++ methods, or ObjC selectors. 8090 See FunctionNameType for more details. 8091 8092 @return 8093 A symbol context list that gets filled in with all of the 8094 matches. 8095 """ 8096 return _lldb.SBModule_FindFunctions(self, *args) 8097 8098 def FindGlobalVariables(self, target, name, max_matches): 8099 r""" 8100 FindGlobalVariables(SBModule self, SBTarget target, char const * name, uint32_t max_matches) -> SBValueList 8101 8102 Find global and static variables by name. 8103 8104 @param[in] target 8105 A valid SBTarget instance representing the debuggee. 8106 8107 @param[in] name 8108 The name of the global or static variable we are looking 8109 for. 8110 8111 @param[in] max_matches 8112 Allow the number of matches to be limited to max_matches. 8113 8114 @return 8115 A list of matched variables in an SBValueList. 8116 """ 8117 return _lldb.SBModule_FindGlobalVariables(self, target, name, max_matches) 8118 8119 def FindFirstGlobalVariable(self, target, name): 8120 r""" 8121 FindFirstGlobalVariable(SBModule self, SBTarget target, char const * name) -> SBValue 8122 8123 Find the first global (or static) variable by name. 8124 8125 @param[in] target 8126 A valid SBTarget instance representing the debuggee. 8127 8128 @param[in] name 8129 The name of the global or static variable we are looking 8130 for. 8131 8132 @return 8133 An SBValue that gets filled in with the found variable (if any). 8134 """ 8135 return _lldb.SBModule_FindFirstGlobalVariable(self, target, name) 8136 8137 def FindFirstType(self, name): 8138 r"""FindFirstType(SBModule self, char const * name) -> SBType""" 8139 return _lldb.SBModule_FindFirstType(self, name) 8140 8141 def FindTypes(self, type): 8142 r"""FindTypes(SBModule self, char const * type) -> SBTypeList""" 8143 return _lldb.SBModule_FindTypes(self, type) 8144 8145 def GetTypeByID(self, uid): 8146 r"""GetTypeByID(SBModule self, lldb::user_id_t uid) -> SBType""" 8147 return _lldb.SBModule_GetTypeByID(self, uid) 8148 8149 def GetBasicType(self, type): 8150 r"""GetBasicType(SBModule self, lldb::BasicType type) -> SBType""" 8151 return _lldb.SBModule_GetBasicType(self, type) 8152 8153 def GetTypes(self, *args): 8154 r""" 8155 GetTypes(SBModule self, uint32_t type_mask=eTypeClassAny) -> SBTypeList 8156 8157 Get all types matching type_mask from debug info in this 8158 module. 8159 8160 @param[in] type_mask 8161 A bitfield that consists of one or more bits logically OR'ed 8162 together from the lldb::TypeClass enumeration. This allows 8163 you to request only structure types, or only class, struct 8164 and union types. Passing in lldb::eTypeClassAny will return 8165 all types found in the debug information for this module. 8166 8167 @return 8168 A list of types in this module that match type_mask 8169 """ 8170 return _lldb.SBModule_GetTypes(self, *args) 8171 8172 def GetVersion(self): 8173 r"""GetVersion(SBModule self) -> uint32_t""" 8174 return _lldb.SBModule_GetVersion(self) 8175 8176 def GetSymbolFileSpec(self): 8177 r"""GetSymbolFileSpec(SBModule self) -> SBFileSpec""" 8178 return _lldb.SBModule_GetSymbolFileSpec(self) 8179 8180 def GetObjectFileHeaderAddress(self): 8181 r"""GetObjectFileHeaderAddress(SBModule self) -> SBAddress""" 8182 return _lldb.SBModule_GetObjectFileHeaderAddress(self) 8183 8184 def GetObjectFileEntryPointAddress(self): 8185 r"""GetObjectFileEntryPointAddress(SBModule self) -> SBAddress""" 8186 return _lldb.SBModule_GetObjectFileEntryPointAddress(self) 8187 8188 @staticmethod 8189 def GetNumberAllocatedModules(): 8190 r""" 8191 GetNumberAllocatedModules() -> uint32_t 8192 8193 Returns the number of modules in the module cache. This is an 8194 implementation detail exposed for testing and should not be relied upon. 8195 8196 @return 8197 The number of modules in the module cache. 8198 """ 8199 return _lldb.SBModule_GetNumberAllocatedModules() 8200 8201 @staticmethod 8202 def GarbageCollectAllocatedModules(): 8203 r""" 8204 GarbageCollectAllocatedModules() 8205 8206 Removes all modules which are no longer needed by any part of LLDB from 8207 the module cache. 8208 8209 This is an implementation detail exposed for testing and should not be 8210 relied upon. Use SBDebugger::MemoryPressureDetected instead to reduce 8211 LLDB's memory consumption during execution. 8212 8213 """ 8214 return _lldb.SBModule_GarbageCollectAllocatedModules() 8215 8216 def __repr__(self): 8217 r"""__repr__(SBModule self) -> std::string""" 8218 return _lldb.SBModule___repr__(self) 8219 8220 # operator== is a free function, which swig does not handle, so we inject 8221 # our own equality operator here 8222 def __eq__(self, other): 8223 return not self.__ne__(other) 8224 8225 def __len__(self): 8226 '''Return the number of symbols in a lldb.SBModule object.''' 8227 return self.GetNumSymbols() 8228 8229 def __iter__(self): 8230 '''Iterate over all symbols in a lldb.SBModule object.''' 8231 return lldb_iter(self, 'GetNumSymbols', 'GetSymbolAtIndex') 8232 8233 def section_iter(self): 8234 '''Iterate over all sections in a lldb.SBModule object.''' 8235 return lldb_iter(self, 'GetNumSections', 'GetSectionAtIndex') 8236 8237 def compile_unit_iter(self): 8238 '''Iterate over all compile units in a lldb.SBModule object.''' 8239 return lldb_iter(self, 'GetNumCompileUnits', 'GetCompileUnitAtIndex') 8240 8241 def symbol_in_section_iter(self, section): 8242 '''Given a module and its contained section, returns an iterator on the 8243 symbols within the section.''' 8244 for sym in self: 8245 if in_range(sym, section): 8246 yield sym 8247 8248 class symbols_access(object): 8249 re_compile_type = type(re.compile('.')) 8250 '''A helper object that will lazily hand out lldb.SBSymbol objects for a module when supplied an index, name, or regular expression.''' 8251 def __init__(self, sbmodule): 8252 self.sbmodule = sbmodule 8253 8254 def __len__(self): 8255 if self.sbmodule: 8256 return int(self.sbmodule.GetNumSymbols()) 8257 return 0 8258 8259 def __getitem__(self, key): 8260 count = len(self) 8261 if type(key) is int: 8262 if -count <= key < count: 8263 key %= count 8264 return self.sbmodule.GetSymbolAtIndex(key) 8265 elif type(key) is str: 8266 matches = [] 8267 sc_list = self.sbmodule.FindSymbols(key) 8268 for sc in sc_list: 8269 symbol = sc.symbol 8270 if symbol: 8271 matches.append(symbol) 8272 return matches 8273 elif isinstance(key, self.re_compile_type): 8274 matches = [] 8275 for idx in range(count): 8276 symbol = self.sbmodule.GetSymbolAtIndex(idx) 8277 added = False 8278 name = symbol.name 8279 if name: 8280 re_match = key.search(name) 8281 if re_match: 8282 matches.append(symbol) 8283 added = True 8284 if not added: 8285 mangled = symbol.mangled 8286 if mangled: 8287 re_match = key.search(mangled) 8288 if re_match: 8289 matches.append(symbol) 8290 return matches 8291 else: 8292 print("error: unsupported item type: %s" % type(key)) 8293 return None 8294 8295 def get_symbols_access_object(self): 8296 '''An accessor function that returns a symbols_access() object which allows lazy symbol access from a lldb.SBModule object.''' 8297 return self.symbols_access (self) 8298 8299 def get_compile_units_access_object (self): 8300 '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.''' 8301 return self.compile_units_access (self) 8302 8303 def get_symbols_array(self): 8304 '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.''' 8305 symbols = [] 8306 for idx in range(self.num_symbols): 8307 symbols.append(self.GetSymbolAtIndex(idx)) 8308 return symbols 8309 8310 class sections_access(object): 8311 re_compile_type = type(re.compile('.')) 8312 '''A helper object that will lazily hand out lldb.SBSection objects for a module when supplied an index, name, or regular expression.''' 8313 def __init__(self, sbmodule): 8314 self.sbmodule = sbmodule 8315 8316 def __len__(self): 8317 if self.sbmodule: 8318 return int(self.sbmodule.GetNumSections()) 8319 return 0 8320 8321 def __getitem__(self, key): 8322 count = len(self) 8323 if type(key) is int: 8324 if -count <= key < count: 8325 key %= count 8326 return self.sbmodule.GetSectionAtIndex(key) 8327 elif type(key) is str: 8328 for idx in range(count): 8329 section = self.sbmodule.GetSectionAtIndex(idx) 8330 if section.name == key: 8331 return section 8332 elif isinstance(key, self.re_compile_type): 8333 matches = [] 8334 for idx in range(count): 8335 section = self.sbmodule.GetSectionAtIndex(idx) 8336 name = section.name 8337 if name: 8338 re_match = key.search(name) 8339 if re_match: 8340 matches.append(section) 8341 return matches 8342 else: 8343 print("error: unsupported item type: %s" % type(key)) 8344 return None 8345 8346 class compile_units_access(object): 8347 re_compile_type = type(re.compile('.')) 8348 '''A helper object that will lazily hand out lldb.SBCompileUnit objects for a module when supplied an index, full or partial path, or regular expression.''' 8349 def __init__(self, sbmodule): 8350 self.sbmodule = sbmodule 8351 8352 def __len__(self): 8353 if self.sbmodule: 8354 return int(self.sbmodule.GetNumCompileUnits()) 8355 return 0 8356 8357 def __getitem__(self, key): 8358 count = len(self) 8359 if type(key) is int: 8360 if -count <= key < count: 8361 key %= count 8362 return self.sbmodule.GetCompileUnitAtIndex(key) 8363 elif type(key) is str: 8364 is_full_path = key[0] == '/' 8365 for idx in range(count): 8366 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx) 8367 if is_full_path: 8368 if comp_unit.file.fullpath == key: 8369 return comp_unit 8370 else: 8371 if comp_unit.file.basename == key: 8372 return comp_unit 8373 elif isinstance(key, self.re_compile_type): 8374 matches = [] 8375 for idx in range(count): 8376 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx) 8377 fullpath = comp_unit.file.fullpath 8378 if fullpath: 8379 re_match = key.search(fullpath) 8380 if re_match: 8381 matches.append(comp_unit) 8382 return matches 8383 else: 8384 print("error: unsupported item type: %s" % type(key)) 8385 return None 8386 8387 def get_sections_access_object(self): 8388 '''An accessor function that returns a sections_access() object which allows lazy section array access.''' 8389 return self.sections_access (self) 8390 8391 def get_sections_array(self): 8392 '''An accessor function that returns an array object that contains all sections in this module object.''' 8393 if not hasattr(self, 'sections_array'): 8394 self.sections_array = [] 8395 for idx in range(self.num_sections): 8396 self.sections_array.append(self.GetSectionAtIndex(idx)) 8397 return self.sections_array 8398 8399 def get_compile_units_array(self): 8400 '''An accessor function that returns an array object that contains all compile_units in this module object.''' 8401 if not hasattr(self, 'compile_units_array'): 8402 self.compile_units_array = [] 8403 for idx in range(self.GetNumCompileUnits()): 8404 self.compile_units_array.append(self.GetCompileUnitAtIndex(idx)) 8405 return self.compile_units_array 8406 8407 symbols = property(get_symbols_array, None, doc='''A read only property that returns a list() of lldb.SBSymbol objects contained in this module.''') 8408 symbol = property(get_symbols_access_object, None, doc='''A read only property that can be used to access symbols by index ("symbol = module.symbol[0]"), name ("symbols = module.symbol['main']"), or using a regular expression ("symbols = module.symbol[re.compile(...)]"). The return value is a single lldb.SBSymbol object for array access, and a list() of lldb.SBSymbol objects for name and regular expression access''') 8409 sections = property(get_sections_array, None, doc='''A read only property that returns a list() of lldb.SBSection objects contained in this module.''') 8410 compile_units = property(get_compile_units_array, None, doc='''A read only property that returns a list() of lldb.SBCompileUnit objects contained in this module.''') 8411 section = property(get_sections_access_object, None, doc='''A read only property that can be used to access symbols by index ("section = module.section[0]"), name ("sections = module.section[\'main\']"), or using a regular expression ("sections = module.section[re.compile(...)]"). The return value is a single lldb.SBSection object for array access, and a list() of lldb.SBSection objects for name and regular expression access''') 8412 section = property(get_sections_access_object, None, doc='''A read only property that can be used to access compile units by index ("compile_unit = module.compile_unit[0]"), name ("compile_unit = module.compile_unit[\'main.cpp\']"), or using a regular expression ("compile_unit = module.compile_unit[re.compile(...)]"). The return value is a single lldb.SBCompileUnit object for array access or by full or partial path, and a list() of lldb.SBCompileUnit objects regular expressions.''') 8413 8414 def get_uuid(self): 8415 return uuid.UUID (self.GetUUIDString()) 8416 8417 uuid = property(get_uuid, None, doc='''A read only property that returns a standard python uuid.UUID object that represents the UUID of this module.''') 8418 file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented where it is being debugged.''') 8419 platform_file = property(GetPlatformFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented on the current host system.''') 8420 byte_order = property(GetByteOrder, None, doc='''A read only property that returns an lldb enumeration value (lldb.eByteOrderLittle, lldb.eByteOrderBig, lldb.eByteOrderInvalid) that represents the byte order for this module.''') 8421 addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this module.''') 8422 triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this module.''') 8423 num_symbols = property(GetNumSymbols, None, doc='''A read only property that returns number of symbols in the module symbol table as an integer.''') 8424 num_sections = property(GetNumSections, None, doc='''A read only property that returns number of sections in the module as an integer.''') 8425 8426 8427 8428 def __eq__(self, rhs): 8429 if not isinstance(rhs, type(self)): 8430 return False 8431 8432 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 8433 8434 def __ne__(self, rhs): 8435 if not isinstance(rhs, type(self)): 8436 return True 8437 8438 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 8439 8440 8441# Register SBModule in _lldb: 8442_lldb.SBModule_swigregister(SBModule) 8443class SBModuleSpec(object): 8444 r"""Proxy of C++ lldb::SBModuleSpec class.""" 8445 8446 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8447 8448 def __init__(self, *args): 8449 r""" 8450 __init__(SBModuleSpec self) -> SBModuleSpec 8451 __init__(SBModuleSpec self, SBModuleSpec rhs) -> SBModuleSpec 8452 """ 8453 _lldb.SBModuleSpec_swiginit(self, _lldb.new_SBModuleSpec(*args)) 8454 __swig_destroy__ = _lldb.delete_SBModuleSpec 8455 8456 def __nonzero__(self): 8457 return _lldb.SBModuleSpec___nonzero__(self) 8458 __bool__ = __nonzero__ 8459 8460 8461 8462 def IsValid(self): 8463 r"""IsValid(SBModuleSpec self) -> bool""" 8464 return _lldb.SBModuleSpec_IsValid(self) 8465 8466 def Clear(self): 8467 r"""Clear(SBModuleSpec self)""" 8468 return _lldb.SBModuleSpec_Clear(self) 8469 8470 def GetFileSpec(self): 8471 r""" 8472 GetFileSpec(SBModuleSpec self) -> SBFileSpec 8473 8474 Get const accessor for the module file. 8475 8476 This function returns the file for the module on the host system 8477 that is running LLDB. This can differ from the path on the 8478 platform since we might be doing remote debugging. 8479 8480 @return 8481 A const reference to the file specification object. 8482 """ 8483 return _lldb.SBModuleSpec_GetFileSpec(self) 8484 8485 def SetFileSpec(self, fspec): 8486 r"""SetFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8487 return _lldb.SBModuleSpec_SetFileSpec(self, fspec) 8488 8489 def GetPlatformFileSpec(self): 8490 r""" 8491 GetPlatformFileSpec(SBModuleSpec self) -> SBFileSpec 8492 8493 Get accessor for the module platform file. 8494 8495 Platform file refers to the path of the module as it is known on 8496 the remote system on which it is being debugged. For local 8497 debugging this is always the same as Module::GetFileSpec(). But 8498 remote debugging might mention a file '/usr/lib/liba.dylib' 8499 which might be locally downloaded and cached. In this case the 8500 platform file could be something like: 8501 '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 8502 The file could also be cached in a local developer kit directory. 8503 8504 @return 8505 A const reference to the file specification object. 8506 """ 8507 return _lldb.SBModuleSpec_GetPlatformFileSpec(self) 8508 8509 def SetPlatformFileSpec(self, fspec): 8510 r"""SetPlatformFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8511 return _lldb.SBModuleSpec_SetPlatformFileSpec(self, fspec) 8512 8513 def GetSymbolFileSpec(self): 8514 r"""GetSymbolFileSpec(SBModuleSpec self) -> SBFileSpec""" 8515 return _lldb.SBModuleSpec_GetSymbolFileSpec(self) 8516 8517 def SetSymbolFileSpec(self, fspec): 8518 r"""SetSymbolFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8519 return _lldb.SBModuleSpec_SetSymbolFileSpec(self, fspec) 8520 8521 def GetObjectName(self): 8522 r"""GetObjectName(SBModuleSpec self) -> char const *""" 8523 return _lldb.SBModuleSpec_GetObjectName(self) 8524 8525 def SetObjectName(self, name): 8526 r"""SetObjectName(SBModuleSpec self, char const * name)""" 8527 return _lldb.SBModuleSpec_SetObjectName(self, name) 8528 8529 def GetTriple(self): 8530 r"""GetTriple(SBModuleSpec self) -> char const *""" 8531 return _lldb.SBModuleSpec_GetTriple(self) 8532 8533 def SetTriple(self, triple): 8534 r"""SetTriple(SBModuleSpec self, char const * triple)""" 8535 return _lldb.SBModuleSpec_SetTriple(self, triple) 8536 8537 def GetUUIDBytes(self): 8538 r"""GetUUIDBytes(SBModuleSpec self) -> uint8_t const *""" 8539 return _lldb.SBModuleSpec_GetUUIDBytes(self) 8540 8541 def GetUUIDLength(self): 8542 r"""GetUUIDLength(SBModuleSpec self) -> size_t""" 8543 return _lldb.SBModuleSpec_GetUUIDLength(self) 8544 8545 def SetUUIDBytes(self, uuid, uuid_len): 8546 r"""SetUUIDBytes(SBModuleSpec self, uint8_t const * uuid, size_t uuid_len) -> bool""" 8547 return _lldb.SBModuleSpec_SetUUIDBytes(self, uuid, uuid_len) 8548 8549 def GetObjectOffset(self): 8550 r"""GetObjectOffset(SBModuleSpec self) -> uint64_t""" 8551 return _lldb.SBModuleSpec_GetObjectOffset(self) 8552 8553 def SetObjectOffset(self, object_offset): 8554 r"""SetObjectOffset(SBModuleSpec self, uint64_t object_offset)""" 8555 return _lldb.SBModuleSpec_SetObjectOffset(self, object_offset) 8556 8557 def GetObjectSize(self): 8558 r"""GetObjectSize(SBModuleSpec self) -> uint64_t""" 8559 return _lldb.SBModuleSpec_GetObjectSize(self) 8560 8561 def SetObjectSize(self, object_size): 8562 r"""SetObjectSize(SBModuleSpec self, uint64_t object_size)""" 8563 return _lldb.SBModuleSpec_SetObjectSize(self, object_size) 8564 8565 def GetDescription(self, description): 8566 r"""GetDescription(SBModuleSpec self, SBStream description) -> bool""" 8567 return _lldb.SBModuleSpec_GetDescription(self, description) 8568 8569 def __repr__(self): 8570 r"""__repr__(SBModuleSpec self) -> std::string""" 8571 return _lldb.SBModuleSpec___repr__(self) 8572 8573# Register SBModuleSpec in _lldb: 8574_lldb.SBModuleSpec_swigregister(SBModuleSpec) 8575class SBModuleSpecList(object): 8576 r"""Represents a list of :py:class:`SBModuleSpec`.""" 8577 8578 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8579 8580 def __init__(self, *args): 8581 r""" 8582 __init__(SBModuleSpecList self) -> SBModuleSpecList 8583 __init__(SBModuleSpecList self, SBModuleSpecList rhs) -> SBModuleSpecList 8584 """ 8585 _lldb.SBModuleSpecList_swiginit(self, _lldb.new_SBModuleSpecList(*args)) 8586 __swig_destroy__ = _lldb.delete_SBModuleSpecList 8587 8588 @staticmethod 8589 def GetModuleSpecifications(path): 8590 r"""GetModuleSpecifications(char const * path) -> SBModuleSpecList""" 8591 return _lldb.SBModuleSpecList_GetModuleSpecifications(path) 8592 8593 def Append(self, *args): 8594 r""" 8595 Append(SBModuleSpecList self, SBModuleSpec spec) 8596 Append(SBModuleSpecList self, SBModuleSpecList spec_list) 8597 """ 8598 return _lldb.SBModuleSpecList_Append(self, *args) 8599 8600 def FindFirstMatchingSpec(self, match_spec): 8601 r"""FindFirstMatchingSpec(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpec""" 8602 return _lldb.SBModuleSpecList_FindFirstMatchingSpec(self, match_spec) 8603 8604 def FindMatchingSpecs(self, match_spec): 8605 r"""FindMatchingSpecs(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpecList""" 8606 return _lldb.SBModuleSpecList_FindMatchingSpecs(self, match_spec) 8607 8608 def GetSize(self): 8609 r"""GetSize(SBModuleSpecList self) -> size_t""" 8610 return _lldb.SBModuleSpecList_GetSize(self) 8611 8612 def GetSpecAtIndex(self, i): 8613 r"""GetSpecAtIndex(SBModuleSpecList self, size_t i) -> SBModuleSpec""" 8614 return _lldb.SBModuleSpecList_GetSpecAtIndex(self, i) 8615 8616 def GetDescription(self, description): 8617 r"""GetDescription(SBModuleSpecList self, SBStream description) -> bool""" 8618 return _lldb.SBModuleSpecList_GetDescription(self, description) 8619 8620 def __repr__(self): 8621 r"""__repr__(SBModuleSpecList self) -> std::string""" 8622 return _lldb.SBModuleSpecList___repr__(self) 8623 8624 def __len__(self): 8625 '''Return the number of ModuleSpec in a lldb.SBModuleSpecList object.''' 8626 return self.GetSize() 8627 8628 def __iter__(self): 8629 '''Iterate over all ModuleSpecs in a lldb.SBModuleSpecList object.''' 8630 return lldb_iter(self, 'GetSize', 'GetSpecAtIndex') 8631 8632 8633# Register SBModuleSpecList in _lldb: 8634_lldb.SBModuleSpecList_swigregister(SBModuleSpecList) 8635class SBPlatformConnectOptions(object): 8636 r"""Describes how :py:class:`SBPlatform.ConnectRemote` connects to a remote platform.""" 8637 8638 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8639 __repr__ = _swig_repr 8640 8641 def __init__(self, *args): 8642 r""" 8643 __init__(SBPlatformConnectOptions self, char const * url) -> SBPlatformConnectOptions 8644 __init__(SBPlatformConnectOptions self, SBPlatformConnectOptions rhs) -> SBPlatformConnectOptions 8645 """ 8646 _lldb.SBPlatformConnectOptions_swiginit(self, _lldb.new_SBPlatformConnectOptions(*args)) 8647 __swig_destroy__ = _lldb.delete_SBPlatformConnectOptions 8648 8649 def GetURL(self): 8650 r"""GetURL(SBPlatformConnectOptions self) -> char const *""" 8651 return _lldb.SBPlatformConnectOptions_GetURL(self) 8652 8653 def SetURL(self, url): 8654 r"""SetURL(SBPlatformConnectOptions self, char const * url)""" 8655 return _lldb.SBPlatformConnectOptions_SetURL(self, url) 8656 8657 def GetRsyncEnabled(self): 8658 r"""GetRsyncEnabled(SBPlatformConnectOptions self) -> bool""" 8659 return _lldb.SBPlatformConnectOptions_GetRsyncEnabled(self) 8660 8661 def EnableRsync(self, options, remote_path_prefix, omit_remote_hostname): 8662 r"""EnableRsync(SBPlatformConnectOptions self, char const * options, char const * remote_path_prefix, bool omit_remote_hostname)""" 8663 return _lldb.SBPlatformConnectOptions_EnableRsync(self, options, remote_path_prefix, omit_remote_hostname) 8664 8665 def DisableRsync(self): 8666 r"""DisableRsync(SBPlatformConnectOptions self)""" 8667 return _lldb.SBPlatformConnectOptions_DisableRsync(self) 8668 8669 def GetLocalCacheDirectory(self): 8670 r"""GetLocalCacheDirectory(SBPlatformConnectOptions self) -> char const *""" 8671 return _lldb.SBPlatformConnectOptions_GetLocalCacheDirectory(self) 8672 8673 def SetLocalCacheDirectory(self, path): 8674 r"""SetLocalCacheDirectory(SBPlatformConnectOptions self, char const * path)""" 8675 return _lldb.SBPlatformConnectOptions_SetLocalCacheDirectory(self, path) 8676 8677# Register SBPlatformConnectOptions in _lldb: 8678_lldb.SBPlatformConnectOptions_swigregister(SBPlatformConnectOptions) 8679class SBPlatformShellCommand(object): 8680 r"""Represents a shell command that can be run by :py:class:`SBPlatform.Run`.""" 8681 8682 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8683 __repr__ = _swig_repr 8684 8685 def __init__(self, *args): 8686 r""" 8687 __init__(SBPlatformShellCommand self, char const * shell, char const * shell_command) -> SBPlatformShellCommand 8688 __init__(SBPlatformShellCommand self, char const * shell_command) -> SBPlatformShellCommand 8689 __init__(SBPlatformShellCommand self, SBPlatformShellCommand rhs) -> SBPlatformShellCommand 8690 """ 8691 _lldb.SBPlatformShellCommand_swiginit(self, _lldb.new_SBPlatformShellCommand(*args)) 8692 __swig_destroy__ = _lldb.delete_SBPlatformShellCommand 8693 8694 def Clear(self): 8695 r"""Clear(SBPlatformShellCommand self)""" 8696 return _lldb.SBPlatformShellCommand_Clear(self) 8697 8698 def GetShell(self): 8699 r"""GetShell(SBPlatformShellCommand self) -> char const *""" 8700 return _lldb.SBPlatformShellCommand_GetShell(self) 8701 8702 def SetShell(self, shell): 8703 r"""SetShell(SBPlatformShellCommand self, char const * shell)""" 8704 return _lldb.SBPlatformShellCommand_SetShell(self, shell) 8705 8706 def GetCommand(self): 8707 r"""GetCommand(SBPlatformShellCommand self) -> char const *""" 8708 return _lldb.SBPlatformShellCommand_GetCommand(self) 8709 8710 def SetCommand(self, shell_command): 8711 r"""SetCommand(SBPlatformShellCommand self, char const * shell_command)""" 8712 return _lldb.SBPlatformShellCommand_SetCommand(self, shell_command) 8713 8714 def GetWorkingDirectory(self): 8715 r"""GetWorkingDirectory(SBPlatformShellCommand self) -> char const *""" 8716 return _lldb.SBPlatformShellCommand_GetWorkingDirectory(self) 8717 8718 def SetWorkingDirectory(self, path): 8719 r"""SetWorkingDirectory(SBPlatformShellCommand self, char const * path)""" 8720 return _lldb.SBPlatformShellCommand_SetWorkingDirectory(self, path) 8721 8722 def GetTimeoutSeconds(self): 8723 r"""GetTimeoutSeconds(SBPlatformShellCommand self) -> uint32_t""" 8724 return _lldb.SBPlatformShellCommand_GetTimeoutSeconds(self) 8725 8726 def SetTimeoutSeconds(self, sec): 8727 r"""SetTimeoutSeconds(SBPlatformShellCommand self, uint32_t sec)""" 8728 return _lldb.SBPlatformShellCommand_SetTimeoutSeconds(self, sec) 8729 8730 def GetSignal(self): 8731 r"""GetSignal(SBPlatformShellCommand self) -> int""" 8732 return _lldb.SBPlatformShellCommand_GetSignal(self) 8733 8734 def GetStatus(self): 8735 r"""GetStatus(SBPlatformShellCommand self) -> int""" 8736 return _lldb.SBPlatformShellCommand_GetStatus(self) 8737 8738 def GetOutput(self): 8739 r"""GetOutput(SBPlatformShellCommand self) -> char const *""" 8740 return _lldb.SBPlatformShellCommand_GetOutput(self) 8741 8742# Register SBPlatformShellCommand in _lldb: 8743_lldb.SBPlatformShellCommand_swigregister(SBPlatformShellCommand) 8744class SBPlatform(object): 8745 r""" 8746 A class that represents a platform that can represent the current host or a remote host debug platform. 8747 8748 The SBPlatform class represents the current host, or a remote host. 8749 It can be connected to a remote platform in order to provide ways 8750 to remotely launch and attach to processes, upload/download files, 8751 create directories, run remote shell commands, find locally cached 8752 versions of files from the remote system, and much more. 8753 8754 SBPlatform objects can be created and then used to connect to a remote 8755 platform which allows the SBPlatform to be used to get a list of the 8756 current processes on the remote host, attach to one of those processes, 8757 install programs on the remote system, attach and launch processes, 8758 and much more. 8759 8760 Every :py:class:`SBTarget` has a corresponding SBPlatform. The platform can be 8761 specified upon target creation, or the currently selected platform 8762 will attempt to be used when creating the target automatically as long 8763 as the currently selected platform matches the target architecture 8764 and executable type. If the architecture or executable type do not match, 8765 a suitable platform will be found automatically. 8766 """ 8767 8768 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8769 __repr__ = _swig_repr 8770 8771 def __init__(self, *args): 8772 r""" 8773 __init__(SBPlatform self) -> SBPlatform 8774 __init__(SBPlatform self, char const * platform_name) -> SBPlatform 8775 __init__(SBPlatform self, SBPlatform rhs) -> SBPlatform 8776 """ 8777 _lldb.SBPlatform_swiginit(self, _lldb.new_SBPlatform(*args)) 8778 __swig_destroy__ = _lldb.delete_SBPlatform 8779 8780 @staticmethod 8781 def GetHostPlatform(): 8782 r"""GetHostPlatform() -> SBPlatform""" 8783 return _lldb.SBPlatform_GetHostPlatform() 8784 8785 def __nonzero__(self): 8786 return _lldb.SBPlatform___nonzero__(self) 8787 __bool__ = __nonzero__ 8788 8789 8790 8791 def IsValid(self): 8792 r"""IsValid(SBPlatform self) -> bool""" 8793 return _lldb.SBPlatform_IsValid(self) 8794 8795 def Clear(self): 8796 r"""Clear(SBPlatform self)""" 8797 return _lldb.SBPlatform_Clear(self) 8798 8799 def GetWorkingDirectory(self): 8800 r"""GetWorkingDirectory(SBPlatform self) -> char const *""" 8801 return _lldb.SBPlatform_GetWorkingDirectory(self) 8802 8803 def SetWorkingDirectory(self, path): 8804 r"""SetWorkingDirectory(SBPlatform self, char const * path) -> bool""" 8805 return _lldb.SBPlatform_SetWorkingDirectory(self, path) 8806 8807 def GetName(self): 8808 r"""GetName(SBPlatform self) -> char const *""" 8809 return _lldb.SBPlatform_GetName(self) 8810 8811 def ConnectRemote(self, connect_options): 8812 r"""ConnectRemote(SBPlatform self, SBPlatformConnectOptions connect_options) -> SBError""" 8813 return _lldb.SBPlatform_ConnectRemote(self, connect_options) 8814 8815 def DisconnectRemote(self): 8816 r"""DisconnectRemote(SBPlatform self)""" 8817 return _lldb.SBPlatform_DisconnectRemote(self) 8818 8819 def IsConnected(self): 8820 r"""IsConnected(SBPlatform self) -> bool""" 8821 return _lldb.SBPlatform_IsConnected(self) 8822 8823 def GetTriple(self): 8824 r"""GetTriple(SBPlatform self) -> char const *""" 8825 return _lldb.SBPlatform_GetTriple(self) 8826 8827 def GetHostname(self): 8828 r"""GetHostname(SBPlatform self) -> char const *""" 8829 return _lldb.SBPlatform_GetHostname(self) 8830 8831 def GetOSBuild(self): 8832 r"""GetOSBuild(SBPlatform self) -> char const *""" 8833 return _lldb.SBPlatform_GetOSBuild(self) 8834 8835 def GetOSDescription(self): 8836 r"""GetOSDescription(SBPlatform self) -> char const *""" 8837 return _lldb.SBPlatform_GetOSDescription(self) 8838 8839 def GetOSMajorVersion(self): 8840 r"""GetOSMajorVersion(SBPlatform self) -> uint32_t""" 8841 return _lldb.SBPlatform_GetOSMajorVersion(self) 8842 8843 def GetOSMinorVersion(self): 8844 r"""GetOSMinorVersion(SBPlatform self) -> uint32_t""" 8845 return _lldb.SBPlatform_GetOSMinorVersion(self) 8846 8847 def GetOSUpdateVersion(self): 8848 r"""GetOSUpdateVersion(SBPlatform self) -> uint32_t""" 8849 return _lldb.SBPlatform_GetOSUpdateVersion(self) 8850 8851 def SetSDKRoot(self, sysroot): 8852 r"""SetSDKRoot(SBPlatform self, char const * sysroot)""" 8853 return _lldb.SBPlatform_SetSDKRoot(self, sysroot) 8854 8855 def Put(self, src, dst): 8856 r"""Put(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8857 return _lldb.SBPlatform_Put(self, src, dst) 8858 8859 def Get(self, src, dst): 8860 r"""Get(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8861 return _lldb.SBPlatform_Get(self, src, dst) 8862 8863 def Install(self, src, dst): 8864 r"""Install(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8865 return _lldb.SBPlatform_Install(self, src, dst) 8866 8867 def Run(self, shell_command): 8868 r"""Run(SBPlatform self, SBPlatformShellCommand shell_command) -> SBError""" 8869 return _lldb.SBPlatform_Run(self, shell_command) 8870 8871 def Launch(self, launch_info): 8872 r"""Launch(SBPlatform self, SBLaunchInfo launch_info) -> SBError""" 8873 return _lldb.SBPlatform_Launch(self, launch_info) 8874 8875 def Attach(self, attach_info, debugger, target, error): 8876 r"""Attach(SBPlatform self, SBAttachInfo attach_info, SBDebugger debugger, SBTarget target, SBError error) -> SBProcess""" 8877 return _lldb.SBPlatform_Attach(self, attach_info, debugger, target, error) 8878 8879 def GetAllProcesses(self, error): 8880 r"""GetAllProcesses(SBPlatform self, SBError error) -> SBProcessInfoList""" 8881 return _lldb.SBPlatform_GetAllProcesses(self, error) 8882 8883 def Kill(self, pid): 8884 r"""Kill(SBPlatform self, lldb::pid_t const pid) -> SBError""" 8885 return _lldb.SBPlatform_Kill(self, pid) 8886 8887 def MakeDirectory(self, *args): 8888 r"""MakeDirectory(SBPlatform self, char const * path, uint32_t file_permissions=eFilePermissionsDirectoryDefault) -> SBError""" 8889 return _lldb.SBPlatform_MakeDirectory(self, *args) 8890 8891 def GetFilePermissions(self, path): 8892 r"""GetFilePermissions(SBPlatform self, char const * path) -> uint32_t""" 8893 return _lldb.SBPlatform_GetFilePermissions(self, path) 8894 8895 def SetFilePermissions(self, path, file_permissions): 8896 r"""SetFilePermissions(SBPlatform self, char const * path, uint32_t file_permissions) -> SBError""" 8897 return _lldb.SBPlatform_SetFilePermissions(self, path, file_permissions) 8898 8899 def GetUnixSignals(self): 8900 r"""GetUnixSignals(SBPlatform self) -> SBUnixSignals""" 8901 return _lldb.SBPlatform_GetUnixSignals(self) 8902 8903 def GetEnvironment(self): 8904 r"""GetEnvironment(SBPlatform self) -> SBEnvironment""" 8905 return _lldb.SBPlatform_GetEnvironment(self) 8906 8907 def SetLocateModuleCallback(self, callback): 8908 r"""SetLocateModuleCallback(SBPlatform self, lldb::SBPlatformLocateModuleCallback callback) -> SBError""" 8909 return _lldb.SBPlatform_SetLocateModuleCallback(self, callback) 8910 8911# Register SBPlatform in _lldb: 8912_lldb.SBPlatform_swigregister(SBPlatform) 8913class SBProcess(object): 8914 r""" 8915 Represents the process associated with the target program. 8916 8917 SBProcess supports thread iteration. For example (from test/lldbutil.py), :: 8918 8919 # ================================================== 8920 # Utility functions related to Threads and Processes 8921 # ================================================== 8922 8923 def get_stopped_threads(process, reason): 8924 '''Returns the thread(s) with the specified stop reason in a list. 8925 8926 The list can be empty if no such thread exists. 8927 ''' 8928 threads = [] 8929 for t in process: 8930 if t.GetStopReason() == reason: 8931 threads.append(t) 8932 return threads 8933 8934 """ 8935 8936 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8937 eBroadcastBitStateChanged = _lldb.SBProcess_eBroadcastBitStateChanged 8938 8939 eBroadcastBitInterrupt = _lldb.SBProcess_eBroadcastBitInterrupt 8940 8941 eBroadcastBitSTDOUT = _lldb.SBProcess_eBroadcastBitSTDOUT 8942 8943 eBroadcastBitSTDERR = _lldb.SBProcess_eBroadcastBitSTDERR 8944 8945 eBroadcastBitProfileData = _lldb.SBProcess_eBroadcastBitProfileData 8946 8947 eBroadcastBitStructuredData = _lldb.SBProcess_eBroadcastBitStructuredData 8948 8949 8950 def __init__(self, *args): 8951 r""" 8952 __init__(SBProcess self) -> SBProcess 8953 __init__(SBProcess self, SBProcess rhs) -> SBProcess 8954 """ 8955 _lldb.SBProcess_swiginit(self, _lldb.new_SBProcess(*args)) 8956 __swig_destroy__ = _lldb.delete_SBProcess 8957 8958 @staticmethod 8959 def GetBroadcasterClassName(): 8960 r"""GetBroadcasterClassName() -> char const *""" 8961 return _lldb.SBProcess_GetBroadcasterClassName() 8962 8963 def GetPluginName(self): 8964 r"""GetPluginName(SBProcess self) -> char const *""" 8965 return _lldb.SBProcess_GetPluginName(self) 8966 8967 def GetShortPluginName(self): 8968 r"""GetShortPluginName(SBProcess self) -> char const *""" 8969 return _lldb.SBProcess_GetShortPluginName(self) 8970 8971 def Clear(self): 8972 r"""Clear(SBProcess self)""" 8973 return _lldb.SBProcess_Clear(self) 8974 8975 def __nonzero__(self): 8976 return _lldb.SBProcess___nonzero__(self) 8977 __bool__ = __nonzero__ 8978 8979 8980 8981 def IsValid(self): 8982 r"""IsValid(SBProcess self) -> bool""" 8983 return _lldb.SBProcess_IsValid(self) 8984 8985 def GetTarget(self): 8986 r"""GetTarget(SBProcess self) -> SBTarget""" 8987 return _lldb.SBProcess_GetTarget(self) 8988 8989 def GetByteOrder(self): 8990 r"""GetByteOrder(SBProcess self) -> lldb::ByteOrder""" 8991 return _lldb.SBProcess_GetByteOrder(self) 8992 8993 def PutSTDIN(self, src): 8994 r""" 8995 PutSTDIN(SBProcess self, char const * src) -> size_t 8996 8997 Writes data into the current process's stdin. API client specifies a Python 8998 string as the only argument. 8999 """ 9000 return _lldb.SBProcess_PutSTDIN(self, src) 9001 9002 def GetSTDOUT(self, dst): 9003 r""" 9004 GetSTDOUT(SBProcess self, char * dst) -> size_t 9005 9006 Reads data from the current process's stdout stream. API client specifies 9007 the size of the buffer to read data into. It returns the byte buffer in a 9008 Python string. 9009 """ 9010 return _lldb.SBProcess_GetSTDOUT(self, dst) 9011 9012 def GetSTDERR(self, dst): 9013 r""" 9014 GetSTDERR(SBProcess self, char * dst) -> size_t 9015 9016 Reads data from the current process's stderr stream. API client specifies 9017 the size of the buffer to read data into. It returns the byte buffer in a 9018 Python string. 9019 """ 9020 return _lldb.SBProcess_GetSTDERR(self, dst) 9021 9022 def GetAsyncProfileData(self, dst): 9023 r"""GetAsyncProfileData(SBProcess self, char * dst) -> size_t""" 9024 return _lldb.SBProcess_GetAsyncProfileData(self, dst) 9025 9026 def ReportEventState(self, *args): 9027 r""" 9028 ReportEventState(SBProcess self, SBEvent event, SBFile file) 9029 ReportEventState(SBProcess self, SBEvent event, lldb::FileSP BORROWED) 9030 """ 9031 return _lldb.SBProcess_ReportEventState(self, *args) 9032 9033 def AppendEventStateReport(self, event, result): 9034 r"""AppendEventStateReport(SBProcess self, SBEvent event, SBCommandReturnObject result)""" 9035 return _lldb.SBProcess_AppendEventStateReport(self, event, result) 9036 9037 def RemoteAttachToProcessWithID(self, pid, error): 9038 r""" 9039 RemoteAttachToProcessWithID(SBProcess self, lldb::pid_t pid, SBError error) -> bool 9040 9041 Remote connection related functions. These will fail if the 9042 process is not in eStateConnected. They are intended for use 9043 when connecting to an externally managed debugserver instance. 9044 """ 9045 return _lldb.SBProcess_RemoteAttachToProcessWithID(self, pid, error) 9046 9047 def RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error): 9048 r""" 9049 RemoteLaunch(SBProcess self, char const ** argv, char const ** envp, char const * stdin_path, char const * stdout_path, char const * stderr_path, char const * working_directory, uint32_t launch_flags, bool stop_at_entry, SBError error) -> bool 9050 See SBTarget.Launch for argument description and usage. 9051 """ 9052 return _lldb.SBProcess_RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error) 9053 9054 def GetNumThreads(self): 9055 r"""GetNumThreads(SBProcess self) -> uint32_t""" 9056 return _lldb.SBProcess_GetNumThreads(self) 9057 9058 def GetThreadAtIndex(self, index): 9059 r""" 9060 GetThreadAtIndex(SBProcess self, size_t index) -> SBThread 9061 9062 Returns the INDEX'th thread from the list of current threads. The index 9063 of a thread is only valid for the current stop. For a persistent thread 9064 identifier use either the thread ID or the IndexID. See help on SBThread 9065 for more details. 9066 """ 9067 return _lldb.SBProcess_GetThreadAtIndex(self, index) 9068 9069 def GetThreadByID(self, sb_thread_id): 9070 r""" 9071 GetThreadByID(SBProcess self, lldb::tid_t sb_thread_id) -> SBThread 9072 9073 Returns the thread with the given thread ID. 9074 """ 9075 return _lldb.SBProcess_GetThreadByID(self, sb_thread_id) 9076 9077 def GetThreadByIndexID(self, index_id): 9078 r""" 9079 GetThreadByIndexID(SBProcess self, uint32_t index_id) -> SBThread 9080 9081 Returns the thread with the given thread IndexID. 9082 """ 9083 return _lldb.SBProcess_GetThreadByIndexID(self, index_id) 9084 9085 def GetSelectedThread(self): 9086 r""" 9087 GetSelectedThread(SBProcess self) -> SBThread 9088 9089 Returns the currently selected thread. 9090 """ 9091 return _lldb.SBProcess_GetSelectedThread(self) 9092 9093 def CreateOSPluginThread(self, tid, context): 9094 r""" 9095 CreateOSPluginThread(SBProcess self, lldb::tid_t tid, lldb::addr_t context) -> SBThread 9096 9097 Lazily create a thread on demand through the current OperatingSystem plug-in, if the current OperatingSystem plug-in supports it. 9098 """ 9099 return _lldb.SBProcess_CreateOSPluginThread(self, tid, context) 9100 9101 def SetSelectedThread(self, thread): 9102 r"""SetSelectedThread(SBProcess self, SBThread thread) -> bool""" 9103 return _lldb.SBProcess_SetSelectedThread(self, thread) 9104 9105 def SetSelectedThreadByID(self, tid): 9106 r"""SetSelectedThreadByID(SBProcess self, lldb::tid_t tid) -> bool""" 9107 return _lldb.SBProcess_SetSelectedThreadByID(self, tid) 9108 9109 def SetSelectedThreadByIndexID(self, index_id): 9110 r"""SetSelectedThreadByIndexID(SBProcess self, uint32_t index_id) -> bool""" 9111 return _lldb.SBProcess_SetSelectedThreadByIndexID(self, index_id) 9112 9113 def GetNumQueues(self): 9114 r"""GetNumQueues(SBProcess self) -> uint32_t""" 9115 return _lldb.SBProcess_GetNumQueues(self) 9116 9117 def GetQueueAtIndex(self, index): 9118 r"""GetQueueAtIndex(SBProcess self, size_t index) -> SBQueue""" 9119 return _lldb.SBProcess_GetQueueAtIndex(self, index) 9120 9121 def GetState(self): 9122 r"""GetState(SBProcess self) -> lldb::StateType""" 9123 return _lldb.SBProcess_GetState(self) 9124 9125 def GetExitStatus(self): 9126 r"""GetExitStatus(SBProcess self) -> int""" 9127 return _lldb.SBProcess_GetExitStatus(self) 9128 9129 def GetExitDescription(self): 9130 r"""GetExitDescription(SBProcess self) -> char const *""" 9131 return _lldb.SBProcess_GetExitDescription(self) 9132 9133 def GetProcessID(self): 9134 r""" 9135 GetProcessID(SBProcess self) -> lldb::pid_t 9136 9137 Returns the process ID of the process. 9138 """ 9139 return _lldb.SBProcess_GetProcessID(self) 9140 9141 def GetUniqueID(self): 9142 r""" 9143 GetUniqueID(SBProcess self) -> uint32_t 9144 9145 Returns an integer ID that is guaranteed to be unique across all process instances. This is not the process ID, just a unique integer for comparison and caching purposes. 9146 """ 9147 return _lldb.SBProcess_GetUniqueID(self) 9148 9149 def GetAddressByteSize(self): 9150 r"""GetAddressByteSize(SBProcess self) -> uint32_t""" 9151 return _lldb.SBProcess_GetAddressByteSize(self) 9152 9153 def Destroy(self): 9154 r""" 9155 Destroy(SBProcess self) -> SBError 9156 9157 Kills the process and shuts down all threads that were spawned to 9158 track and monitor process. 9159 """ 9160 return _lldb.SBProcess_Destroy(self) 9161 9162 def Continue(self): 9163 r"""Continue(SBProcess self) -> SBError""" 9164 return _lldb.SBProcess_Continue(self) 9165 9166 def Stop(self): 9167 r"""Stop(SBProcess self) -> SBError""" 9168 return _lldb.SBProcess_Stop(self) 9169 9170 def Kill(self): 9171 r""" 9172 Kill(SBProcess self) -> SBError 9173 Same as Destroy(self). 9174 """ 9175 return _lldb.SBProcess_Kill(self) 9176 9177 def Detach(self, *args): 9178 r""" 9179 Detach(SBProcess self) -> SBError 9180 Detach(SBProcess self, bool keep_stopped) -> SBError 9181 """ 9182 return _lldb.SBProcess_Detach(self, *args) 9183 9184 def Signal(self, signal): 9185 r""" 9186 Signal(SBProcess self, int signal) -> SBError 9187 Sends the process a unix signal. 9188 """ 9189 return _lldb.SBProcess_Signal(self, signal) 9190 9191 def GetUnixSignals(self): 9192 r"""GetUnixSignals(SBProcess self) -> SBUnixSignals""" 9193 return _lldb.SBProcess_GetUnixSignals(self) 9194 9195 def SendAsyncInterrupt(self): 9196 r"""SendAsyncInterrupt(SBProcess self)""" 9197 return _lldb.SBProcess_SendAsyncInterrupt(self) 9198 9199 def GetStopID(self, include_expression_stops=False): 9200 r""" 9201 GetStopID(SBProcess self, bool include_expression_stops=False) -> uint32_t 9202 9203 Returns a stop id that will increase every time the process executes. If 9204 include_expression_stops is true, then stops caused by expression evaluation 9205 will cause the returned value to increase, otherwise the counter returned will 9206 only increase when execution is continued explicitly by the user. Note, the value 9207 will always increase, but may increase by more than one per stop. 9208 """ 9209 return _lldb.SBProcess_GetStopID(self, include_expression_stops) 9210 9211 def GetStopEventForStopID(self, stop_id): 9212 r"""GetStopEventForStopID(SBProcess self, uint32_t stop_id) -> SBEvent""" 9213 return _lldb.SBProcess_GetStopEventForStopID(self, stop_id) 9214 9215 def ForceScriptedState(self, new_state): 9216 r"""ForceScriptedState(SBProcess self, lldb::StateType new_state)""" 9217 return _lldb.SBProcess_ForceScriptedState(self, new_state) 9218 9219 def ReadMemory(self, addr, buf, error): 9220 r""" 9221 ReadMemory(SBProcess self, lldb::addr_t addr, void * buf, SBError error) -> size_t 9222 9223 Reads memory from the current process's address space and removes any 9224 traps that may have been inserted into the memory. It returns the byte 9225 buffer in a Python string. Example: :: 9226 9227 # Read 4 bytes from address 'addr' and assume error.Success() is True. 9228 content = process.ReadMemory(addr, 4, error) 9229 new_bytes = bytearray(content) 9230 """ 9231 return _lldb.SBProcess_ReadMemory(self, addr, buf, error) 9232 9233 def WriteMemory(self, addr, buf, error): 9234 r""" 9235 WriteMemory(SBProcess self, lldb::addr_t addr, void const * buf, SBError error) -> size_t 9236 9237 Writes memory to the current process's address space and maintains any 9238 traps that might be present due to software breakpoints. Example: :: 9239 9240 # Create a Python string from the byte array. 9241 new_value = str(bytes) 9242 result = process.WriteMemory(addr, new_value, error) 9243 if not error.Success() or result != len(bytes): 9244 print('SBProcess.WriteMemory() failed!') 9245 """ 9246 return _lldb.SBProcess_WriteMemory(self, addr, buf, error) 9247 9248 def ReadCStringFromMemory(self, addr, char_buf, error): 9249 r""" 9250 ReadCStringFromMemory(SBProcess self, lldb::addr_t addr, void * char_buf, SBError error) -> size_t 9251 9252 Reads a NUL terminated C string from the current process's address space. 9253 It returns a python string of the exact length, or truncates the string if 9254 the maximum character limit is reached. Example: :: 9255 9256 # Read a C string of at most 256 bytes from address '0x1000' 9257 error = lldb.SBError() 9258 cstring = process.ReadCStringFromMemory(0x1000, 256, error) 9259 if error.Success(): 9260 print('cstring: ', cstring) 9261 else 9262 print('error: ', error) 9263 """ 9264 return _lldb.SBProcess_ReadCStringFromMemory(self, addr, char_buf, error) 9265 9266 def ReadUnsignedFromMemory(self, addr, byte_size, error): 9267 r""" 9268 ReadUnsignedFromMemory(SBProcess self, lldb::addr_t addr, uint32_t byte_size, SBError error) -> uint64_t 9269 9270 Reads an unsigned integer from memory given a byte size and an address. 9271 Returns the unsigned integer that was read. Example: :: 9272 9273 # Read a 4 byte unsigned integer from address 0x1000 9274 error = lldb.SBError() 9275 uint = ReadUnsignedFromMemory(0x1000, 4, error) 9276 if error.Success(): 9277 print('integer: %u' % uint) 9278 else 9279 print('error: ', error) 9280 """ 9281 return _lldb.SBProcess_ReadUnsignedFromMemory(self, addr, byte_size, error) 9282 9283 def ReadPointerFromMemory(self, addr, error): 9284 r""" 9285 ReadPointerFromMemory(SBProcess self, lldb::addr_t addr, SBError error) -> lldb::addr_t 9286 9287 Reads a pointer from memory from an address and returns the value. Example: :: 9288 9289 # Read a pointer from address 0x1000 9290 error = lldb.SBError() 9291 ptr = ReadPointerFromMemory(0x1000, error) 9292 if error.Success(): 9293 print('pointer: 0x%x' % ptr) 9294 else 9295 print('error: ', error) 9296 """ 9297 return _lldb.SBProcess_ReadPointerFromMemory(self, addr, error) 9298 9299 def FindRangesInMemory(self, buf, ranges, alignment, max_matches, error): 9300 r"""FindRangesInMemory(SBProcess self, void const * buf, SBAddressRangeList ranges, uint32_t alignment, uint32_t max_matches, SBError error) -> SBAddressRangeList""" 9301 return _lldb.SBProcess_FindRangesInMemory(self, buf, ranges, alignment, max_matches, error) 9302 9303 def FindInMemory(self, buf, range, alignment, error): 9304 r"""FindInMemory(SBProcess self, void const * buf, SBAddressRange range, uint32_t alignment, SBError error) -> lldb::addr_t""" 9305 return _lldb.SBProcess_FindInMemory(self, buf, range, alignment, error) 9306 9307 @staticmethod 9308 def GetStateFromEvent(event): 9309 r"""GetStateFromEvent(SBEvent event) -> lldb::StateType""" 9310 return _lldb.SBProcess_GetStateFromEvent(event) 9311 9312 @staticmethod 9313 def GetRestartedFromEvent(event): 9314 r"""GetRestartedFromEvent(SBEvent event) -> bool""" 9315 return _lldb.SBProcess_GetRestartedFromEvent(event) 9316 9317 @staticmethod 9318 def GetNumRestartedReasonsFromEvent(event): 9319 r"""GetNumRestartedReasonsFromEvent(SBEvent event) -> size_t""" 9320 return _lldb.SBProcess_GetNumRestartedReasonsFromEvent(event) 9321 9322 @staticmethod 9323 def GetRestartedReasonAtIndexFromEvent(event, idx): 9324 r"""GetRestartedReasonAtIndexFromEvent(SBEvent event, size_t idx) -> char const *""" 9325 return _lldb.SBProcess_GetRestartedReasonAtIndexFromEvent(event, idx) 9326 9327 @staticmethod 9328 def GetProcessFromEvent(event): 9329 r"""GetProcessFromEvent(SBEvent event) -> SBProcess""" 9330 return _lldb.SBProcess_GetProcessFromEvent(event) 9331 9332 @staticmethod 9333 def GetInterruptedFromEvent(event): 9334 r"""GetInterruptedFromEvent(SBEvent event) -> bool""" 9335 return _lldb.SBProcess_GetInterruptedFromEvent(event) 9336 9337 @staticmethod 9338 def GetStructuredDataFromEvent(event): 9339 r"""GetStructuredDataFromEvent(SBEvent event) -> SBStructuredData""" 9340 return _lldb.SBProcess_GetStructuredDataFromEvent(event) 9341 9342 @staticmethod 9343 def EventIsProcessEvent(event): 9344 r"""EventIsProcessEvent(SBEvent event) -> bool""" 9345 return _lldb.SBProcess_EventIsProcessEvent(event) 9346 9347 @staticmethod 9348 def EventIsStructuredDataEvent(event): 9349 r"""EventIsStructuredDataEvent(SBEvent event) -> bool""" 9350 return _lldb.SBProcess_EventIsStructuredDataEvent(event) 9351 9352 def GetBroadcaster(self): 9353 r"""GetBroadcaster(SBProcess self) -> SBBroadcaster""" 9354 return _lldb.SBProcess_GetBroadcaster(self) 9355 9356 @staticmethod 9357 def GetBroadcasterClass(): 9358 r""" 9359 GetBroadcasterClass() -> char const * 9360 Get default process broadcaster class name (lldb.process). 9361 """ 9362 return _lldb.SBProcess_GetBroadcasterClass() 9363 9364 def GetDescription(self, description): 9365 r"""GetDescription(SBProcess self, SBStream description) -> bool""" 9366 return _lldb.SBProcess_GetDescription(self, description) 9367 9368 def GetExtendedCrashInformation(self): 9369 r""" 9370 GetExtendedCrashInformation(SBProcess self) -> SBStructuredData 9371 9372 Returns the process' extended crash information. 9373 """ 9374 return _lldb.SBProcess_GetExtendedCrashInformation(self) 9375 9376 def GetNumSupportedHardwareWatchpoints(self, error): 9377 r"""GetNumSupportedHardwareWatchpoints(SBProcess self, SBError error) -> uint32_t""" 9378 return _lldb.SBProcess_GetNumSupportedHardwareWatchpoints(self, error) 9379 9380 def LoadImage(self, *args): 9381 r""" 9382 LoadImage(SBProcess self, SBFileSpec remote_image_spec, SBError error) -> uint32_t 9383 LoadImage(SBProcess self, SBFileSpec local_image_spec, SBFileSpec remote_image_spec, SBError error) -> uint32_t 9384 """ 9385 return _lldb.SBProcess_LoadImage(self, *args) 9386 9387 def LoadImageUsingPaths(self, image_spec, paths, loaded_path, error): 9388 r""" 9389 LoadImageUsingPaths(SBProcess self, SBFileSpec image_spec, SBStringList paths, SBFileSpec loaded_path, SBError error) -> uint32_t 9390 9391 Load the library whose filename is given by image_spec looking in all the 9392 paths supplied in the paths argument. If successful, return a token that 9393 can be passed to UnloadImage and fill loaded_path with the path that was 9394 successfully loaded. On failure, return 9395 lldb.LLDB_INVALID_IMAGE_TOKEN. 9396 """ 9397 return _lldb.SBProcess_LoadImageUsingPaths(self, image_spec, paths, loaded_path, error) 9398 9399 def UnloadImage(self, image_token): 9400 r"""UnloadImage(SBProcess self, uint32_t image_token) -> SBError""" 9401 return _lldb.SBProcess_UnloadImage(self, image_token) 9402 9403 def SendEventData(self, data): 9404 r"""SendEventData(SBProcess self, char const * data) -> SBError""" 9405 return _lldb.SBProcess_SendEventData(self, data) 9406 9407 def GetNumExtendedBacktraceTypes(self): 9408 r""" 9409 GetNumExtendedBacktraceTypes(SBProcess self) -> uint32_t 9410 9411 Return the number of different thread-origin extended backtraces 9412 this process can support as a uint32_t. 9413 When the process is stopped and you have an SBThread, lldb may be 9414 able to show a backtrace of when that thread was originally created, 9415 or the work item was enqueued to it (in the case of a libdispatch 9416 queue). 9417 """ 9418 return _lldb.SBProcess_GetNumExtendedBacktraceTypes(self) 9419 9420 def GetExtendedBacktraceTypeAtIndex(self, idx): 9421 r""" 9422 GetExtendedBacktraceTypeAtIndex(SBProcess self, uint32_t idx) -> char const * 9423 9424 Takes an index argument, returns the name of one of the thread-origin 9425 extended backtrace methods as a str. 9426 """ 9427 return _lldb.SBProcess_GetExtendedBacktraceTypeAtIndex(self, idx) 9428 9429 def GetHistoryThreads(self, addr): 9430 r"""GetHistoryThreads(SBProcess self, lldb::addr_t addr) -> SBThreadCollection""" 9431 return _lldb.SBProcess_GetHistoryThreads(self, addr) 9432 9433 def IsInstrumentationRuntimePresent(self, type): 9434 r"""IsInstrumentationRuntimePresent(SBProcess self, lldb::InstrumentationRuntimeType type) -> bool""" 9435 return _lldb.SBProcess_IsInstrumentationRuntimePresent(self, type) 9436 9437 def SaveCore(self, *args): 9438 r""" 9439 SaveCore(SBProcess self, char const * file_name, char const * flavor, lldb::SaveCoreStyle core_style) -> SBError 9440 SaveCore(SBProcess self, char const * file_name) -> SBError 9441 SaveCore(SBProcess self, SBSaveCoreOptions options) -> SBError 9442 """ 9443 return _lldb.SBProcess_SaveCore(self, *args) 9444 9445 def GetMemoryRegionInfo(self, load_addr, region_info): 9446 r"""GetMemoryRegionInfo(SBProcess self, lldb::addr_t load_addr, SBMemoryRegionInfo region_info) -> SBError""" 9447 return _lldb.SBProcess_GetMemoryRegionInfo(self, load_addr, region_info) 9448 9449 def GetMemoryRegions(self): 9450 r"""GetMemoryRegions(SBProcess self) -> SBMemoryRegionInfoList""" 9451 return _lldb.SBProcess_GetMemoryRegions(self) 9452 9453 def GetProcessInfo(self): 9454 r""" 9455 GetProcessInfo(SBProcess self) -> SBProcessInfo 9456 9457 Get information about the process. 9458 Valid process info will only be returned when the process is alive, 9459 use IsValid() to check if the info returned is valid. :: 9460 9461 process_info = process.GetProcessInfo() 9462 if process_info.IsValid(): 9463 process_info.GetProcessID() 9464 """ 9465 return _lldb.SBProcess_GetProcessInfo(self) 9466 9467 def GetCoreFile(self): 9468 r"""GetCoreFile(SBProcess self) -> SBFileSpec""" 9469 return _lldb.SBProcess_GetCoreFile(self) 9470 9471 def GetAddressMask(self, *args): 9472 r""" 9473 GetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) -> lldb::addr_t 9474 9475 Get the current address mask in this Process of a given type. 9476 There are lldb.eAddressMaskTypeCode and lldb.eAddressMaskTypeData address 9477 masks, and on most Targets, the the Data address mask is more general 9478 because there are no alignment restrictions, as there can be with Code 9479 addresses. 9480 lldb.eAddressMaskTypeAny may be used to get the most general mask. 9481 The bits which are not used for addressing are set to 1 in the returned 9482 mask. 9483 In an unusual environment with different address masks for high and low 9484 memory, this may also be specified. This is uncommon, default is 9485 lldb.eAddressMaskRangeLow. 9486 """ 9487 return _lldb.SBProcess_GetAddressMask(self, *args) 9488 9489 def SetAddressMask(self, *args): 9490 r""" 9491 SetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::addr_t mask, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) 9492 9493 Set the current address mask in this Process for a given type, 9494 lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData. Bits that are not 9495 used for addressing should be set to 1 in the mask. 9496 When setting all masks, lldb.eAddressMaskTypeAll may be specified. 9497 In an unusual environment with different address masks for high and low 9498 memory, this may also be specified. This is uncommon, default is 9499 lldb.eAddressMaskRangeLow. 9500 """ 9501 return _lldb.SBProcess_SetAddressMask(self, *args) 9502 9503 def SetAddressableBits(self, *args): 9504 r""" 9505 SetAddressableBits(SBProcess self, lldb::AddressMaskType type, uint32_t num_bits, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) 9506 9507 Set the number of low bits relevant for addressing in this Process 9508 for a given type, lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData. 9509 When setting all masks, lldb.eAddressMaskTypeAll may be specified. 9510 In an unusual environment with different address masks for high and low 9511 memory, the address range may also be specified. This is uncommon, 9512 default is lldb.eAddressMaskRangeLow. 9513 """ 9514 return _lldb.SBProcess_SetAddressableBits(self, *args) 9515 9516 def FixAddress(self, *args): 9517 r""" 9518 FixAddress(SBProcess self, lldb::addr_t addr, lldb::AddressMaskType type=eAddressMaskTypeAny) -> lldb::addr_t 9519 9520 Given a virtual address, clear the bits that are not used for addressing 9521 (and may be used for metadata, memory tagging, point authentication, etc). 9522 By default the most general mask, lldb.eAddressMaskTypeAny is used to 9523 process the address, but lldb.eAddressMaskTypeData and 9524 lldb.eAddressMaskTypeCode may be specified if the type of address is known. 9525 """ 9526 return _lldb.SBProcess_FixAddress(self, *args) 9527 9528 def AllocateMemory(self, size, permissions, error): 9529 r""" 9530 AllocateMemory(SBProcess self, size_t size, uint32_t permissions, SBError error) -> lldb::addr_t 9531 9532 Allocates a block of memory within the process, with size and 9533 access permissions specified in the arguments. The permissions 9534 argument is an or-combination of zero or more of 9535 lldb.ePermissionsWritable, lldb.ePermissionsReadable, and 9536 lldb.ePermissionsExecutable. Returns the address 9537 of the allocated buffer in the process, or 9538 lldb.LLDB_INVALID_ADDRESS if the allocation failed. 9539 """ 9540 return _lldb.SBProcess_AllocateMemory(self, size, permissions, error) 9541 9542 def DeallocateMemory(self, ptr): 9543 r""" 9544 DeallocateMemory(SBProcess self, lldb::addr_t ptr) -> SBError 9545 9546 Deallocates the block of memory (previously allocated using 9547 AllocateMemory) given in the argument. 9548 """ 9549 return _lldb.SBProcess_DeallocateMemory(self, ptr) 9550 9551 def GetScriptedImplementation(self): 9552 r""" 9553 GetScriptedImplementation(SBProcess self) -> SBScriptObject 9554 9555 Returns the implementation object of the process plugin if available. None 9556 otherwise. 9557 """ 9558 return _lldb.SBProcess_GetScriptedImplementation(self) 9559 9560 def GetStatus(self, status): 9561 r"""GetStatus(SBProcess self, SBStream status)""" 9562 return _lldb.SBProcess_GetStatus(self, status) 9563 9564 def __repr__(self): 9565 r"""__repr__(SBProcess self) -> std::string""" 9566 return _lldb.SBProcess___repr__(self) 9567 9568 def WriteMemoryAsCString(self, addr, str, error): 9569 ''' 9570 WriteMemoryAsCString(self, addr, str, error): 9571 This functions the same as `WriteMemory` except a null-terminator is appended 9572 to the end of the buffer if it is not there already. 9573 ''' 9574 if not str or len(str) == 0: 9575 return 0 9576 if not str[-1] == '\0': 9577 str += '\0' 9578 return self.WriteMemory(addr, str, error) 9579 9580 def __get_is_alive__(self): 9581 '''Returns "True" if the process is currently alive, "False" otherwise''' 9582 s = self.GetState() 9583 if (s == eStateAttaching or 9584 s == eStateLaunching or 9585 s == eStateStopped or 9586 s == eStateRunning or 9587 s == eStateStepping or 9588 s == eStateCrashed or 9589 s == eStateSuspended): 9590 return True 9591 return False 9592 9593 def __get_is_running__(self): 9594 '''Returns "True" if the process is currently running, "False" otherwise''' 9595 state = self.GetState() 9596 if state == eStateRunning or state == eStateStepping: 9597 return True 9598 return False 9599 9600 def __get_is_stopped__(self): 9601 '''Returns "True" if the process is currently stopped, "False" otherwise''' 9602 state = self.GetState() 9603 if state == eStateStopped or state == eStateCrashed or state == eStateSuspended: 9604 return True 9605 return False 9606 9607 class threads_access(object): 9608 '''A helper object that will lazily hand out thread for a process when supplied an index.''' 9609 def __init__(self, sbprocess): 9610 self.sbprocess = sbprocess 9611 9612 def __len__(self): 9613 if self.sbprocess: 9614 return int(self.sbprocess.GetNumThreads()) 9615 return 0 9616 9617 def __getitem__(self, key): 9618 if isinstance(key, int): 9619 count = len(self) 9620 if -count <= key < count: 9621 key %= count 9622 return self.sbprocess.GetThreadAtIndex(key) 9623 return None 9624 9625 def get_threads_access_object(self): 9626 '''An accessor function that returns a modules_access() object which allows lazy thread access from a lldb.SBProcess object.''' 9627 return self.threads_access (self) 9628 9629 def get_process_thread_list(self): 9630 '''An accessor function that returns a list() that contains all threads in a lldb.SBProcess object.''' 9631 threads = [] 9632 accessor = self.get_threads_access_object() 9633 for idx in range(len(accessor)): 9634 threads.append(accessor[idx]) 9635 return threads 9636 9637 def __iter__(self): 9638 '''Iterate over all threads in a lldb.SBProcess object.''' 9639 return lldb_iter(self, 'GetNumThreads', 'GetThreadAtIndex') 9640 9641 def __len__(self): 9642 '''Return the number of threads in a lldb.SBProcess object.''' 9643 return self.GetNumThreads() 9644 9645 def __int__(self): 9646 return self.GetProcessID() 9647 9648 threads = property(get_process_thread_list, None, doc='''A read only property that returns a list() of lldb.SBThread objects for this process.''') 9649 thread = property(get_threads_access_object, None, doc='''A read only property that returns an object that can access threads by thread index (thread = lldb.process.thread[12]).''') 9650 is_alive = property(__get_is_alive__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently alive.''') 9651 is_running = property(__get_is_running__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently running.''') 9652 is_stopped = property(__get_is_stopped__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently stopped.''') 9653 id = property(GetProcessID, None, doc='''A read only property that returns the process ID as an integer.''') 9654 target = property(GetTarget, None, doc='''A read only property that an lldb object that represents the target (lldb.SBTarget) that owns this process.''') 9655 num_threads = property(GetNumThreads, None, doc='''A read only property that returns the number of threads in this process as an integer.''') 9656 selected_thread = property(GetSelectedThread, SetSelectedThread, doc='''A read/write property that gets/sets the currently selected thread in this process. The getter returns a lldb.SBThread object and the setter takes an lldb.SBThread object.''') 9657 state = property(GetState, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eState") that represents the current state of this process (running, stopped, exited, etc.).''') 9658 exit_state = property(GetExitStatus, None, doc='''A read only property that returns an exit status as an integer of this process when the process state is lldb.eStateExited.''') 9659 exit_description = property(GetExitDescription, None, doc='''A read only property that returns an exit description as a string of this process when the process state is lldb.eStateExited.''') 9660 broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this process.''') 9661 9662 9663# Register SBProcess in _lldb: 9664_lldb.SBProcess_swigregister(SBProcess) 9665class SBProcessInfo(object): 9666 r""" 9667 Describes an existing process and any discoverable information that pertains to 9668 that process. 9669 """ 9670 9671 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9672 __repr__ = _swig_repr 9673 9674 def __init__(self, *args): 9675 r""" 9676 __init__(SBProcessInfo self) -> SBProcessInfo 9677 __init__(SBProcessInfo self, SBProcessInfo rhs) -> SBProcessInfo 9678 """ 9679 _lldb.SBProcessInfo_swiginit(self, _lldb.new_SBProcessInfo(*args)) 9680 __swig_destroy__ = _lldb.delete_SBProcessInfo 9681 9682 def __nonzero__(self): 9683 return _lldb.SBProcessInfo___nonzero__(self) 9684 __bool__ = __nonzero__ 9685 9686 9687 9688 def IsValid(self): 9689 r"""IsValid(SBProcessInfo self) -> bool""" 9690 return _lldb.SBProcessInfo_IsValid(self) 9691 9692 def GetName(self): 9693 r"""GetName(SBProcessInfo self) -> char const *""" 9694 return _lldb.SBProcessInfo_GetName(self) 9695 9696 def GetExecutableFile(self): 9697 r"""GetExecutableFile(SBProcessInfo self) -> SBFileSpec""" 9698 return _lldb.SBProcessInfo_GetExecutableFile(self) 9699 9700 def GetProcessID(self): 9701 r"""GetProcessID(SBProcessInfo self) -> lldb::pid_t""" 9702 return _lldb.SBProcessInfo_GetProcessID(self) 9703 9704 def GetUserID(self): 9705 r"""GetUserID(SBProcessInfo self) -> uint32_t""" 9706 return _lldb.SBProcessInfo_GetUserID(self) 9707 9708 def GetGroupID(self): 9709 r"""GetGroupID(SBProcessInfo self) -> uint32_t""" 9710 return _lldb.SBProcessInfo_GetGroupID(self) 9711 9712 def UserIDIsValid(self): 9713 r"""UserIDIsValid(SBProcessInfo self) -> bool""" 9714 return _lldb.SBProcessInfo_UserIDIsValid(self) 9715 9716 def GroupIDIsValid(self): 9717 r"""GroupIDIsValid(SBProcessInfo self) -> bool""" 9718 return _lldb.SBProcessInfo_GroupIDIsValid(self) 9719 9720 def GetEffectiveUserID(self): 9721 r"""GetEffectiveUserID(SBProcessInfo self) -> uint32_t""" 9722 return _lldb.SBProcessInfo_GetEffectiveUserID(self) 9723 9724 def GetEffectiveGroupID(self): 9725 r"""GetEffectiveGroupID(SBProcessInfo self) -> uint32_t""" 9726 return _lldb.SBProcessInfo_GetEffectiveGroupID(self) 9727 9728 def EffectiveUserIDIsValid(self): 9729 r"""EffectiveUserIDIsValid(SBProcessInfo self) -> bool""" 9730 return _lldb.SBProcessInfo_EffectiveUserIDIsValid(self) 9731 9732 def EffectiveGroupIDIsValid(self): 9733 r"""EffectiveGroupIDIsValid(SBProcessInfo self) -> bool""" 9734 return _lldb.SBProcessInfo_EffectiveGroupIDIsValid(self) 9735 9736 def GetParentProcessID(self): 9737 r"""GetParentProcessID(SBProcessInfo self) -> lldb::pid_t""" 9738 return _lldb.SBProcessInfo_GetParentProcessID(self) 9739 9740 def GetTriple(self): 9741 r""" 9742 GetTriple(SBProcessInfo self) -> char const * 9743 Return the target triple (arch-vendor-os) for the described process. 9744 """ 9745 return _lldb.SBProcessInfo_GetTriple(self) 9746 9747# Register SBProcessInfo in _lldb: 9748_lldb.SBProcessInfo_swigregister(SBProcessInfo) 9749class SBProcessInfoList(object): 9750 r"""Proxy of C++ lldb::SBProcessInfoList class.""" 9751 9752 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9753 __repr__ = _swig_repr 9754 __swig_destroy__ = _lldb.delete_SBProcessInfoList 9755 9756 def __init__(self, *args): 9757 r""" 9758 __init__(SBProcessInfoList self) -> SBProcessInfoList 9759 __init__(SBProcessInfoList self, SBProcessInfoList rhs) -> SBProcessInfoList 9760 """ 9761 _lldb.SBProcessInfoList_swiginit(self, _lldb.new_SBProcessInfoList(*args)) 9762 9763 def GetSize(self): 9764 r"""GetSize(SBProcessInfoList self) -> uint32_t""" 9765 return _lldb.SBProcessInfoList_GetSize(self) 9766 9767 def GetProcessInfoAtIndex(self, idx, info): 9768 r"""GetProcessInfoAtIndex(SBProcessInfoList self, uint32_t idx, SBProcessInfo info) -> bool""" 9769 return _lldb.SBProcessInfoList_GetProcessInfoAtIndex(self, idx, info) 9770 9771 def Clear(self): 9772 r"""Clear(SBProcessInfoList self)""" 9773 return _lldb.SBProcessInfoList_Clear(self) 9774 9775 def __len__(self): 9776 '''Return the number of process info in a lldb.SBProcessInfoListExtensions object.''' 9777 return self.GetSize() 9778 9779 def __iter__(self): 9780 '''Iterate over all the process info in a lldb.SBProcessInfoListExtensions object.''' 9781 return lldb_iter(self, 'GetSize', 'GetProcessInfoAtIndex') 9782 9783 9784# Register SBProcessInfoList in _lldb: 9785_lldb.SBProcessInfoList_swigregister(SBProcessInfoList) 9786class SBQueue(object): 9787 r"""Represents a libdispatch queue in the process.""" 9788 9789 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9790 __repr__ = _swig_repr 9791 9792 def __init__(self, *args): 9793 r""" 9794 __init__(SBQueue self) -> SBQueue 9795 __init__(SBQueue self, SBQueue rhs) -> SBQueue 9796 """ 9797 _lldb.SBQueue_swiginit(self, _lldb.new_SBQueue(*args)) 9798 __swig_destroy__ = _lldb.delete_SBQueue 9799 9800 def __nonzero__(self): 9801 return _lldb.SBQueue___nonzero__(self) 9802 __bool__ = __nonzero__ 9803 9804 9805 9806 def IsValid(self): 9807 r"""IsValid(SBQueue self) -> bool""" 9808 return _lldb.SBQueue_IsValid(self) 9809 9810 def Clear(self): 9811 r"""Clear(SBQueue self)""" 9812 return _lldb.SBQueue_Clear(self) 9813 9814 def GetProcess(self): 9815 r"""GetProcess(SBQueue self) -> SBProcess""" 9816 return _lldb.SBQueue_GetProcess(self) 9817 9818 def GetQueueID(self): 9819 r""" 9820 GetQueueID(SBQueue self) -> lldb::queue_id_t 9821 9822 Returns an lldb::queue_id_t type unique identifier number for this 9823 queue that will not be used by any other queue during this process' 9824 execution. These ID numbers often start at 1 with the first 9825 system-created queues and increment from there. 9826 """ 9827 return _lldb.SBQueue_GetQueueID(self) 9828 9829 def GetName(self): 9830 r"""GetName(SBQueue self) -> char const *""" 9831 return _lldb.SBQueue_GetName(self) 9832 9833 def GetIndexID(self): 9834 r"""GetIndexID(SBQueue self) -> uint32_t""" 9835 return _lldb.SBQueue_GetIndexID(self) 9836 9837 def GetNumThreads(self): 9838 r"""GetNumThreads(SBQueue self) -> uint32_t""" 9839 return _lldb.SBQueue_GetNumThreads(self) 9840 9841 def GetThreadAtIndex(self, arg2): 9842 r"""GetThreadAtIndex(SBQueue self, uint32_t arg2) -> SBThread""" 9843 return _lldb.SBQueue_GetThreadAtIndex(self, arg2) 9844 9845 def GetNumPendingItems(self): 9846 r"""GetNumPendingItems(SBQueue self) -> uint32_t""" 9847 return _lldb.SBQueue_GetNumPendingItems(self) 9848 9849 def GetPendingItemAtIndex(self, arg2): 9850 r"""GetPendingItemAtIndex(SBQueue self, uint32_t arg2) -> SBQueueItem""" 9851 return _lldb.SBQueue_GetPendingItemAtIndex(self, arg2) 9852 9853 def GetNumRunningItems(self): 9854 r"""GetNumRunningItems(SBQueue self) -> uint32_t""" 9855 return _lldb.SBQueue_GetNumRunningItems(self) 9856 9857 def GetKind(self): 9858 r""" 9859 GetKind(SBQueue self) -> lldb::QueueKind 9860 9861 Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown, 9862 eQueueKindSerial, eQueueKindConcurrent) describing the type of this 9863 queue. 9864 """ 9865 return _lldb.SBQueue_GetKind(self) 9866 9867# Register SBQueue in _lldb: 9868_lldb.SBQueue_swigregister(SBQueue) 9869class SBQueueItem(object): 9870 r"""This class represents an item in an :py:class:`SBQueue`.""" 9871 9872 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9873 __repr__ = _swig_repr 9874 9875 def __init__(self): 9876 r"""__init__(SBQueueItem self) -> SBQueueItem""" 9877 _lldb.SBQueueItem_swiginit(self, _lldb.new_SBQueueItem()) 9878 __swig_destroy__ = _lldb.delete_SBQueueItem 9879 9880 def __nonzero__(self): 9881 return _lldb.SBQueueItem___nonzero__(self) 9882 __bool__ = __nonzero__ 9883 9884 9885 9886 def IsValid(self): 9887 r"""IsValid(SBQueueItem self) -> bool""" 9888 return _lldb.SBQueueItem_IsValid(self) 9889 9890 def Clear(self): 9891 r"""Clear(SBQueueItem self)""" 9892 return _lldb.SBQueueItem_Clear(self) 9893 9894 def GetKind(self): 9895 r"""GetKind(SBQueueItem self) -> lldb::QueueItemKind""" 9896 return _lldb.SBQueueItem_GetKind(self) 9897 9898 def SetKind(self, kind): 9899 r"""SetKind(SBQueueItem self, lldb::QueueItemKind kind)""" 9900 return _lldb.SBQueueItem_SetKind(self, kind) 9901 9902 def GetAddress(self): 9903 r"""GetAddress(SBQueueItem self) -> SBAddress""" 9904 return _lldb.SBQueueItem_GetAddress(self) 9905 9906 def SetAddress(self, addr): 9907 r"""SetAddress(SBQueueItem self, SBAddress addr)""" 9908 return _lldb.SBQueueItem_SetAddress(self, addr) 9909 9910 def GetExtendedBacktraceThread(self, type): 9911 r"""GetExtendedBacktraceThread(SBQueueItem self, char const * type) -> SBThread""" 9912 return _lldb.SBQueueItem_GetExtendedBacktraceThread(self, type) 9913 9914 def __hex__(self): 9915 return self.GetAddress() 9916 9917 9918# Register SBQueueItem in _lldb: 9919_lldb.SBQueueItem_swigregister(SBQueueItem) 9920class SBReproducer(object): 9921 r"""Controls LLDB's reproducer functionality.""" 9922 9923 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9924 __repr__ = _swig_repr 9925 9926 @staticmethod 9927 def Capture(path): 9928 r"""Capture(char const * path) -> char const *""" 9929 return _lldb.SBReproducer_Capture(path) 9930 9931 @staticmethod 9932 def PassiveReplay(path): 9933 r"""PassiveReplay(char const * path) -> char const *""" 9934 return _lldb.SBReproducer_PassiveReplay(path) 9935 9936 @staticmethod 9937 def SetAutoGenerate(b): 9938 r"""SetAutoGenerate(bool b) -> bool""" 9939 return _lldb.SBReproducer_SetAutoGenerate(b) 9940 9941 @staticmethod 9942 def SetWorkingDirectory(path): 9943 r"""SetWorkingDirectory(char const * path)""" 9944 return _lldb.SBReproducer_SetWorkingDirectory(path) 9945 9946 def __init__(self): 9947 r"""__init__(SBReproducer self) -> SBReproducer""" 9948 _lldb.SBReproducer_swiginit(self, _lldb.new_SBReproducer()) 9949 __swig_destroy__ = _lldb.delete_SBReproducer 9950 9951# Register SBReproducer in _lldb: 9952_lldb.SBReproducer_swigregister(SBReproducer) 9953class SBScriptObject(object): 9954 r"""Proxy of C++ lldb::SBScriptObject class.""" 9955 9956 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9957 __repr__ = _swig_repr 9958 9959 def __init__(self, *args): 9960 r""" 9961 __init__(SBScriptObject self, lldb::ScriptObjectPtr const ptr, lldb::ScriptLanguage lang) -> SBScriptObject 9962 __init__(SBScriptObject self, SBScriptObject rhs) -> SBScriptObject 9963 """ 9964 _lldb.SBScriptObject_swiginit(self, _lldb.new_SBScriptObject(*args)) 9965 __swig_destroy__ = _lldb.delete_SBScriptObject 9966 9967 def __nonzero__(self): 9968 return _lldb.SBScriptObject___nonzero__(self) 9969 __bool__ = __nonzero__ 9970 9971 9972 9973 def __ne__(self, rhs): 9974 r"""__ne__(SBScriptObject self, SBScriptObject rhs) -> bool""" 9975 return _lldb.SBScriptObject___ne__(self, rhs) 9976 9977 def IsValid(self): 9978 r"""IsValid(SBScriptObject self) -> bool""" 9979 return _lldb.SBScriptObject_IsValid(self) 9980 9981 def GetPointer(self): 9982 r"""GetPointer(SBScriptObject self) -> lldb::ScriptObjectPtr""" 9983 return _lldb.SBScriptObject_GetPointer(self) 9984 9985 def GetLanguage(self): 9986 r"""GetLanguage(SBScriptObject self) -> lldb::ScriptLanguage""" 9987 return _lldb.SBScriptObject_GetLanguage(self) 9988 9989 # operator== is a free function, which swig does not handle, so we inject 9990 # our own equality operator here 9991 def __eq__(self, other): 9992 return not self.__ne__(other) 9993 9994 ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''') 9995 lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''') 9996 9997 9998# Register SBScriptObject in _lldb: 9999_lldb.SBScriptObject_swigregister(SBScriptObject) 10000class SBSection(object): 10001 r""" 10002 Represents an executable image section. 10003 10004 SBSection supports iteration through its subsection, represented as SBSection 10005 as well. For example, :: 10006 10007 for sec in exe_module: 10008 if sec.GetName() == '__TEXT': 10009 print sec 10010 break 10011 print INDENT + 'Number of subsections: %d' % sec.GetNumSubSections() 10012 for subsec in sec: 10013 print INDENT + repr(subsec) 10014 10015 produces: :: 10016 10017 [0x0000000100000000-0x0000000100002000) a.out.__TEXT 10018 Number of subsections: 6 10019 [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text 10020 [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs 10021 [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper 10022 [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring 10023 [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info 10024 [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame 10025 10026 See also :py:class:`SBModule` . 10027 """ 10028 10029 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10030 10031 def __init__(self, *args): 10032 r""" 10033 __init__(SBSection self) -> SBSection 10034 __init__(SBSection self, SBSection rhs) -> SBSection 10035 """ 10036 _lldb.SBSection_swiginit(self, _lldb.new_SBSection(*args)) 10037 __swig_destroy__ = _lldb.delete_SBSection 10038 10039 def __nonzero__(self): 10040 return _lldb.SBSection___nonzero__(self) 10041 __bool__ = __nonzero__ 10042 10043 10044 10045 def IsValid(self): 10046 r"""IsValid(SBSection self) -> bool""" 10047 return _lldb.SBSection_IsValid(self) 10048 10049 def GetName(self): 10050 r"""GetName(SBSection self) -> char const *""" 10051 return _lldb.SBSection_GetName(self) 10052 10053 def GetParent(self): 10054 r"""GetParent(SBSection self) -> SBSection""" 10055 return _lldb.SBSection_GetParent(self) 10056 10057 def FindSubSection(self, sect_name): 10058 r"""FindSubSection(SBSection self, char const * sect_name) -> SBSection""" 10059 return _lldb.SBSection_FindSubSection(self, sect_name) 10060 10061 def GetNumSubSections(self): 10062 r"""GetNumSubSections(SBSection self) -> size_t""" 10063 return _lldb.SBSection_GetNumSubSections(self) 10064 10065 def GetSubSectionAtIndex(self, idx): 10066 r"""GetSubSectionAtIndex(SBSection self, size_t idx) -> SBSection""" 10067 return _lldb.SBSection_GetSubSectionAtIndex(self, idx) 10068 10069 def GetFileAddress(self): 10070 r"""GetFileAddress(SBSection self) -> lldb::addr_t""" 10071 return _lldb.SBSection_GetFileAddress(self) 10072 10073 def GetLoadAddress(self, target): 10074 r"""GetLoadAddress(SBSection self, SBTarget target) -> lldb::addr_t""" 10075 return _lldb.SBSection_GetLoadAddress(self, target) 10076 10077 def GetByteSize(self): 10078 r"""GetByteSize(SBSection self) -> lldb::addr_t""" 10079 return _lldb.SBSection_GetByteSize(self) 10080 10081 def GetFileOffset(self): 10082 r"""GetFileOffset(SBSection self) -> uint64_t""" 10083 return _lldb.SBSection_GetFileOffset(self) 10084 10085 def GetFileByteSize(self): 10086 r"""GetFileByteSize(SBSection self) -> uint64_t""" 10087 return _lldb.SBSection_GetFileByteSize(self) 10088 10089 def GetSectionData(self, *args): 10090 r""" 10091 GetSectionData(SBSection self) -> SBData 10092 GetSectionData(SBSection self, uint64_t offset, uint64_t size) -> SBData 10093 """ 10094 return _lldb.SBSection_GetSectionData(self, *args) 10095 10096 def GetSectionType(self): 10097 r"""GetSectionType(SBSection self) -> lldb::SectionType""" 10098 return _lldb.SBSection_GetSectionType(self) 10099 10100 def GetPermissions(self): 10101 r"""GetPermissions(SBSection self) -> uint32_t""" 10102 return _lldb.SBSection_GetPermissions(self) 10103 10104 def GetTargetByteSize(self): 10105 r""" 10106 GetTargetByteSize(SBSection self) -> uint32_t 10107 10108 Return the size of a target's byte represented by this section 10109 in numbers of host bytes. Note that certain architectures have 10110 varying minimum addressable unit (i.e. byte) size for their 10111 CODE or DATA buses. 10112 10113 @return 10114 The number of host (8-bit) bytes needed to hold a target byte 10115 """ 10116 return _lldb.SBSection_GetTargetByteSize(self) 10117 10118 def GetAlignment(self): 10119 r"""GetAlignment(SBSection self) -> uint32_t""" 10120 return _lldb.SBSection_GetAlignment(self) 10121 10122 def __eq__(self, rhs): 10123 r"""__eq__(SBSection self, SBSection rhs) -> bool""" 10124 return _lldb.SBSection___eq__(self, rhs) 10125 10126 def __ne__(self, rhs): 10127 r"""__ne__(SBSection self, SBSection rhs) -> bool""" 10128 return _lldb.SBSection___ne__(self, rhs) 10129 10130 def GetDescription(self, description): 10131 r"""GetDescription(SBSection self, SBStream description) -> bool""" 10132 return _lldb.SBSection_GetDescription(self, description) 10133 10134 def __repr__(self): 10135 r"""__repr__(SBSection self) -> std::string""" 10136 return _lldb.SBSection___repr__(self) 10137 10138 # operator== is a free function, which swig does not handle, so we inject 10139 # our own equality operator here 10140 def __eq__(self, other): 10141 return not self.__ne__(other) 10142 10143 def __iter__(self): 10144 '''Iterate over all subsections in a lldb.SBSection object.''' 10145 return lldb_iter(self, 'GetNumSubSections', 'GetSubSectionAtIndex') 10146 10147 def __len__(self): 10148 '''Return the number of subsections in a lldb.SBSection object.''' 10149 return self.GetNumSubSections() 10150 10151 def get_addr(self): 10152 return SBAddress(self, 0) 10153 10154 name = property(GetName, None, doc='''A read only property that returns the name of this section as a string.''') 10155 addr = property(get_addr, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this section.''') 10156 file_addr = property(GetFileAddress, None, doc='''A read only property that returns an integer that represents the starting "file" address for this section, or the address of the section in the object file in which it is defined.''') 10157 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this section as an integer.''') 10158 file_offset = property(GetFileOffset, None, doc='''A read only property that returns the file offset in bytes of this section as an integer.''') 10159 file_size = property(GetFileByteSize, None, doc='''A read only property that returns the file size in bytes of this section as an integer.''') 10160 data = property(GetSectionData, None, doc='''A read only property that returns an lldb object that represents the bytes for this section (lldb.SBData) for this section.''') 10161 type = property(GetSectionType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSectionType") that represents the type of this section (code, data, etc.).''') 10162 target_byte_size = property(GetTargetByteSize, None, doc='''A read only property that returns the size of a target byte represented by this section as a number of host bytes.''') 10163 alignment = property(GetAlignment, None, doc='''A read only property that returns the alignment of this section as a number of host bytes.''') 10164 10165 10166 def __eq__(self, rhs): 10167 if not isinstance(rhs, type(self)): 10168 return False 10169 10170 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 10171 10172 def __ne__(self, rhs): 10173 if not isinstance(rhs, type(self)): 10174 return True 10175 10176 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 10177 10178 10179# Register SBSection in _lldb: 10180_lldb.SBSection_swigregister(SBSection) 10181class SBSourceManager(object): 10182 r""" 10183 Represents a central authority for displaying source code. 10184 10185 For example (from test/source-manager/TestSourceManager.py), :: 10186 10187 # Create the filespec for 'main.c'. 10188 filespec = lldb.SBFileSpec('main.c', False) 10189 source_mgr = self.dbg.GetSourceManager() 10190 # Use a string stream as the destination. 10191 stream = lldb.SBStream() 10192 source_mgr.DisplaySourceLinesWithLineNumbers(filespec, 10193 self.line, 10194 2, # context before 10195 2, # context after 10196 '=>', # prefix for current line 10197 stream) 10198 10199 # 2 10200 # 3 int main(int argc, char const *argv[]) { 10201 # => 4 printf('Hello world.\n'); // Set break point at this line. 10202 # 5 return 0; 10203 # 6 } 10204 self.expect(stream.GetData(), 'Source code displayed correctly', 10205 exe=False, 10206 patterns = ['=> %d.*Hello world' % self.line]) 10207 """ 10208 10209 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10210 __repr__ = _swig_repr 10211 10212 def __init__(self, *args): 10213 r""" 10214 __init__(SBSourceManager self, SBDebugger debugger) -> SBSourceManager 10215 __init__(SBSourceManager self, SBTarget target) -> SBSourceManager 10216 __init__(SBSourceManager self, SBSourceManager rhs) -> SBSourceManager 10217 """ 10218 _lldb.SBSourceManager_swiginit(self, _lldb.new_SBSourceManager(*args)) 10219 __swig_destroy__ = _lldb.delete_SBSourceManager 10220 10221 def DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s): 10222 r"""DisplaySourceLinesWithLineNumbers(SBSourceManager self, SBFileSpec file, uint32_t line, uint32_t context_before, uint32_t context_after, char const * current_line_cstr, SBStream s) -> size_t""" 10223 return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s) 10224 10225 def DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s): 10226 r"""DisplaySourceLinesWithLineNumbersAndColumn(SBSourceManager self, SBFileSpec file, uint32_t line, uint32_t column, uint32_t context_before, uint32_t context_after, char const * current_line_cstr, SBStream s) -> size_t""" 10227 return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s) 10228 10229# Register SBSourceManager in _lldb: 10230_lldb.SBSourceManager_swigregister(SBSourceManager) 10231class SBStatisticsOptions(object): 10232 r"""A container for options to use when dumping statistics.""" 10233 10234 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10235 __repr__ = _swig_repr 10236 10237 def __init__(self, *args): 10238 r""" 10239 __init__(SBStatisticsOptions self) -> SBStatisticsOptions 10240 __init__(SBStatisticsOptions self, SBStatisticsOptions rhs) -> SBStatisticsOptions 10241 """ 10242 _lldb.SBStatisticsOptions_swiginit(self, _lldb.new_SBStatisticsOptions(*args)) 10243 __swig_destroy__ = _lldb.delete_SBStatisticsOptions 10244 10245 def SetSummaryOnly(self, b): 10246 r""" 10247 SetSummaryOnly(SBStatisticsOptions self, bool b) 10248 Sets whether the statistics should only dump a summary. 10249 """ 10250 return _lldb.SBStatisticsOptions_SetSummaryOnly(self, b) 10251 10252 def GetSummaryOnly(self): 10253 r""" 10254 GetSummaryOnly(SBStatisticsOptions self) -> bool 10255 Gets whether the statistics only dump a summary. 10256 """ 10257 return _lldb.SBStatisticsOptions_GetSummaryOnly(self) 10258 10259 def SetIncludeTargets(self, b): 10260 r"""SetIncludeTargets(SBStatisticsOptions self, bool b)""" 10261 return _lldb.SBStatisticsOptions_SetIncludeTargets(self, b) 10262 10263 def GetIncludeTargets(self): 10264 r"""GetIncludeTargets(SBStatisticsOptions self) -> bool""" 10265 return _lldb.SBStatisticsOptions_GetIncludeTargets(self) 10266 10267 def SetIncludeModules(self, b): 10268 r"""SetIncludeModules(SBStatisticsOptions self, bool b)""" 10269 return _lldb.SBStatisticsOptions_SetIncludeModules(self, b) 10270 10271 def GetIncludeModules(self): 10272 r"""GetIncludeModules(SBStatisticsOptions self) -> bool""" 10273 return _lldb.SBStatisticsOptions_GetIncludeModules(self) 10274 10275 def SetIncludeTranscript(self, b): 10276 r"""SetIncludeTranscript(SBStatisticsOptions self, bool b)""" 10277 return _lldb.SBStatisticsOptions_SetIncludeTranscript(self, b) 10278 10279 def GetIncludeTranscript(self): 10280 r"""GetIncludeTranscript(SBStatisticsOptions self) -> bool""" 10281 return _lldb.SBStatisticsOptions_GetIncludeTranscript(self) 10282 10283 def SetReportAllAvailableDebugInfo(self, b): 10284 r""" 10285 SetReportAllAvailableDebugInfo(SBStatisticsOptions self, bool b) 10286 10287 Sets whether the statistics will force loading all possible debug info. 10288 """ 10289 return _lldb.SBStatisticsOptions_SetReportAllAvailableDebugInfo(self, b) 10290 10291 def GetReportAllAvailableDebugInfo(self): 10292 r""" 10293 GetReportAllAvailableDebugInfo(SBStatisticsOptions self) -> bool 10294 10295 Gets whether the statistics will force loading all possible debug info. 10296 """ 10297 return _lldb.SBStatisticsOptions_GetReportAllAvailableDebugInfo(self) 10298 10299# Register SBStatisticsOptions in _lldb: 10300_lldb.SBStatisticsOptions_swigregister(SBStatisticsOptions) 10301class SBStream(object): 10302 r""" 10303 Represents a destination for streaming data output to. By default, a string 10304 stream is created. 10305 10306 For example (from test/source-manager/TestSourceManager.py), :: 10307 10308 # Create the filespec for 'main.c'. 10309 filespec = lldb.SBFileSpec('main.c', False) 10310 source_mgr = self.dbg.GetSourceManager() 10311 # Use a string stream as the destination. 10312 stream = lldb.SBStream() 10313 source_mgr.DisplaySourceLinesWithLineNumbers(filespec, 10314 self.line, 10315 2, # context before 10316 2, # context after 10317 '=>', # prefix for current line 10318 stream) 10319 10320 # 2 10321 # 3 int main(int argc, char const *argv[]) { 10322 # => 4 printf('Hello world.\n'); // Set break point at this line. 10323 # 5 return 0; 10324 # 6 } 10325 self.expect(stream.GetData(), 'Source code displayed correctly', 10326 exe=False, 10327 patterns = ['=> %d.*Hello world' % self.line]) 10328 """ 10329 10330 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10331 __repr__ = _swig_repr 10332 10333 def __init__(self): 10334 r"""__init__(SBStream self) -> SBStream""" 10335 _lldb.SBStream_swiginit(self, _lldb.new_SBStream()) 10336 __swig_destroy__ = _lldb.delete_SBStream 10337 10338 def __nonzero__(self): 10339 return _lldb.SBStream___nonzero__(self) 10340 __bool__ = __nonzero__ 10341 10342 10343 10344 def IsValid(self): 10345 r"""IsValid(SBStream self) -> bool""" 10346 return _lldb.SBStream_IsValid(self) 10347 10348 def GetData(self): 10349 r""" 10350 GetData(SBStream self) -> char const * 10351 10352 If this stream is not redirected to a file, it will maintain a local 10353 cache for the stream data which can be accessed using this accessor. 10354 """ 10355 return _lldb.SBStream_GetData(self) 10356 10357 def GetSize(self): 10358 r""" 10359 GetSize(SBStream self) -> size_t 10360 10361 If this stream is not redirected to a file, it will maintain a local 10362 cache for the stream output whose length can be accessed using this 10363 accessor. 10364 """ 10365 return _lldb.SBStream_GetSize(self) 10366 10367 def Print(self, str): 10368 r"""Print(SBStream self, char const * str)""" 10369 return _lldb.SBStream_Print(self, str) 10370 10371 def RedirectToFile(self, *args): 10372 r""" 10373 RedirectToFile(SBStream self, char const * path, bool append) 10374 RedirectToFile(SBStream self, SBFile file) 10375 RedirectToFile(SBStream self, lldb::FileSP file) 10376 """ 10377 return _lldb.SBStream_RedirectToFile(self, *args) 10378 10379 def RedirectToFileDescriptor(self, fd, transfer_fh_ownership): 10380 r"""RedirectToFileDescriptor(SBStream self, int fd, bool transfer_fh_ownership)""" 10381 return _lldb.SBStream_RedirectToFileDescriptor(self, fd, transfer_fh_ownership) 10382 10383 def Clear(self): 10384 r""" 10385 Clear(SBStream self) 10386 10387 If the stream is redirected to a file, forget about the file and if 10388 ownership of the file was transferred to this object, close the file. 10389 If the stream is backed by a local cache, clear this cache. 10390 """ 10391 return _lldb.SBStream_Clear(self) 10392 10393 def __len__(self): 10394 return self.GetSize() 10395 10396 10397 def RedirectToFileHandle(self, file, transfer_fh_ownership): 10398 r"""DEPRECATED, use RedirectToFile""" 10399 return _lldb.SBStream_RedirectToFileHandle(self, file, transfer_fh_ownership) 10400 10401 def write(self, str): 10402 r"""write(SBStream self, char const * str)""" 10403 return _lldb.SBStream_write(self, str) 10404 10405 def flush(self): 10406 r"""flush(SBStream self)""" 10407 return _lldb.SBStream_flush(self) 10408 10409# Register SBStream in _lldb: 10410_lldb.SBStream_swigregister(SBStream) 10411class SBStringList(object): 10412 r"""Represents a list of strings.""" 10413 10414 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10415 __repr__ = _swig_repr 10416 10417 def __init__(self, *args): 10418 r""" 10419 __init__(SBStringList self) -> SBStringList 10420 __init__(SBStringList self, SBStringList rhs) -> SBStringList 10421 """ 10422 _lldb.SBStringList_swiginit(self, _lldb.new_SBStringList(*args)) 10423 __swig_destroy__ = _lldb.delete_SBStringList 10424 10425 def __nonzero__(self): 10426 return _lldb.SBStringList___nonzero__(self) 10427 __bool__ = __nonzero__ 10428 10429 10430 10431 def IsValid(self): 10432 r"""IsValid(SBStringList self) -> bool""" 10433 return _lldb.SBStringList_IsValid(self) 10434 10435 def AppendString(self, str): 10436 r"""AppendString(SBStringList self, char const * str)""" 10437 return _lldb.SBStringList_AppendString(self, str) 10438 10439 def AppendList(self, *args): 10440 r""" 10441 AppendList(SBStringList self, char const ** strv, int strc) 10442 AppendList(SBStringList self, SBStringList strings) 10443 """ 10444 return _lldb.SBStringList_AppendList(self, *args) 10445 10446 def GetSize(self): 10447 r"""GetSize(SBStringList self) -> uint32_t""" 10448 return _lldb.SBStringList_GetSize(self) 10449 10450 def GetStringAtIndex(self, *args): 10451 r""" 10452 GetStringAtIndex(SBStringList self, size_t idx) -> char const 10453 GetStringAtIndex(SBStringList self, size_t idx) -> char const * 10454 """ 10455 return _lldb.SBStringList_GetStringAtIndex(self, *args) 10456 10457 def Clear(self): 10458 r"""Clear(SBStringList self)""" 10459 return _lldb.SBStringList_Clear(self) 10460 10461 def __iter__(self): 10462 '''Iterate over all strings in a lldb.SBStringList object.''' 10463 return lldb_iter(self, 'GetSize', 'GetStringAtIndex') 10464 10465 def __len__(self): 10466 '''Return the number of strings in a lldb.SBStringList object.''' 10467 return self.GetSize() 10468 10469 10470# Register SBStringList in _lldb: 10471_lldb.SBStringList_swigregister(SBStringList) 10472class SBStructuredData(object): 10473 r""" 10474 A class representing a StructuredData event. 10475 10476 This class wraps the event type generated by StructuredData features. 10477 """ 10478 10479 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10480 10481 def __init__(self, *args): 10482 r""" 10483 __init__(SBStructuredData self) -> SBStructuredData 10484 __init__(SBStructuredData self, SBStructuredData rhs) -> SBStructuredData 10485 __init__(SBStructuredData self, SBScriptObject obj, SBDebugger debugger) -> SBStructuredData 10486 """ 10487 _lldb.SBStructuredData_swiginit(self, _lldb.new_SBStructuredData(*args)) 10488 __swig_destroy__ = _lldb.delete_SBStructuredData 10489 10490 def __nonzero__(self): 10491 return _lldb.SBStructuredData___nonzero__(self) 10492 __bool__ = __nonzero__ 10493 10494 10495 10496 def IsValid(self): 10497 r"""IsValid(SBStructuredData self) -> bool""" 10498 return _lldb.SBStructuredData_IsValid(self) 10499 10500 def SetFromJSON(self, *args): 10501 r""" 10502 SetFromJSON(SBStructuredData self, SBStream stream) -> SBError 10503 SetFromJSON(SBStructuredData self, char const * json) -> SBError 10504 """ 10505 return _lldb.SBStructuredData_SetFromJSON(self, *args) 10506 10507 def Clear(self): 10508 r"""Clear(SBStructuredData self)""" 10509 return _lldb.SBStructuredData_Clear(self) 10510 10511 def GetAsJSON(self, stream): 10512 r"""GetAsJSON(SBStructuredData self, SBStream stream) -> SBError""" 10513 return _lldb.SBStructuredData_GetAsJSON(self, stream) 10514 10515 def GetDescription(self, stream): 10516 r"""GetDescription(SBStructuredData self, SBStream stream) -> SBError""" 10517 return _lldb.SBStructuredData_GetDescription(self, stream) 10518 10519 def GetType(self): 10520 r"""GetType(SBStructuredData self) -> lldb::StructuredDataType""" 10521 return _lldb.SBStructuredData_GetType(self) 10522 10523 def GetSize(self): 10524 r"""GetSize(SBStructuredData self) -> size_t""" 10525 return _lldb.SBStructuredData_GetSize(self) 10526 10527 def GetKeys(self, keys): 10528 r"""GetKeys(SBStructuredData self, SBStringList keys) -> bool""" 10529 return _lldb.SBStructuredData_GetKeys(self, keys) 10530 10531 def GetValueForKey(self, key): 10532 r"""GetValueForKey(SBStructuredData self, char const * key) -> SBStructuredData""" 10533 return _lldb.SBStructuredData_GetValueForKey(self, key) 10534 10535 def GetItemAtIndex(self, idx): 10536 r"""GetItemAtIndex(SBStructuredData self, size_t idx) -> SBStructuredData""" 10537 return _lldb.SBStructuredData_GetItemAtIndex(self, idx) 10538 10539 def GetUnsignedIntegerValue(self, fail_value=0): 10540 r"""GetUnsignedIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t""" 10541 return _lldb.SBStructuredData_GetUnsignedIntegerValue(self, fail_value) 10542 10543 def GetSignedIntegerValue(self, fail_value=0): 10544 r"""GetSignedIntegerValue(SBStructuredData self, int64_t fail_value=0) -> int64_t""" 10545 return _lldb.SBStructuredData_GetSignedIntegerValue(self, fail_value) 10546 10547 def GetIntegerValue(self, fail_value=0): 10548 r"""GetIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t""" 10549 return _lldb.SBStructuredData_GetIntegerValue(self, fail_value) 10550 10551 def GetFloatValue(self, fail_value=0.0): 10552 r"""GetFloatValue(SBStructuredData self, double fail_value=0.0) -> double""" 10553 return _lldb.SBStructuredData_GetFloatValue(self, fail_value) 10554 10555 def GetBooleanValue(self, fail_value=False): 10556 r"""GetBooleanValue(SBStructuredData self, bool fail_value=False) -> bool""" 10557 return _lldb.SBStructuredData_GetBooleanValue(self, fail_value) 10558 10559 def GetStringValue(self, dst): 10560 r"""GetStringValue(SBStructuredData self, char * dst) -> size_t""" 10561 return _lldb.SBStructuredData_GetStringValue(self, dst) 10562 10563 def GetGenericValue(self): 10564 r"""GetGenericValue(SBStructuredData self) -> SBScriptObject""" 10565 return _lldb.SBStructuredData_GetGenericValue(self) 10566 10567 def __repr__(self): 10568 r"""__repr__(SBStructuredData self) -> std::string""" 10569 return _lldb.SBStructuredData___repr__(self) 10570 10571 def __int__(self): 10572 return self.GetSignedInteger() 10573 10574 def __len__(self): 10575 '''Return the number of element in a lldb.SBStructuredData object.''' 10576 return self.GetSize() 10577 10578 def __iter__(self): 10579 '''Iterate over all the elements in a lldb.SBStructuredData object.''' 10580 return lldb_iter(self, 'GetSize', 'GetItemAtIndex') 10581 10582 10583# Register SBStructuredData in _lldb: 10584_lldb.SBStructuredData_swigregister(SBStructuredData) 10585class SBSymbol(object): 10586 r""" 10587 Represents the symbol possibly associated with a stack frame. 10588 :py:class:`SBModule` contains SBSymbol(s). SBSymbol can also be retrieved from :py:class:`SBFrame` . 10589 """ 10590 10591 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10592 __swig_destroy__ = _lldb.delete_SBSymbol 10593 10594 def __init__(self, *args): 10595 r""" 10596 __init__(SBSymbol self) -> SBSymbol 10597 __init__(SBSymbol self, SBSymbol rhs) -> SBSymbol 10598 """ 10599 _lldb.SBSymbol_swiginit(self, _lldb.new_SBSymbol(*args)) 10600 10601 def __nonzero__(self): 10602 return _lldb.SBSymbol___nonzero__(self) 10603 __bool__ = __nonzero__ 10604 10605 10606 10607 def IsValid(self): 10608 r"""IsValid(SBSymbol self) -> bool""" 10609 return _lldb.SBSymbol_IsValid(self) 10610 10611 def GetName(self): 10612 r"""GetName(SBSymbol self) -> char const *""" 10613 return _lldb.SBSymbol_GetName(self) 10614 10615 def GetDisplayName(self): 10616 r"""GetDisplayName(SBSymbol self) -> char const *""" 10617 return _lldb.SBSymbol_GetDisplayName(self) 10618 10619 def GetMangledName(self): 10620 r"""GetMangledName(SBSymbol self) -> char const *""" 10621 return _lldb.SBSymbol_GetMangledName(self) 10622 10623 def GetInstructions(self, *args): 10624 r""" 10625 GetInstructions(SBSymbol self, SBTarget target) -> SBInstructionList 10626 GetInstructions(SBSymbol self, SBTarget target, char const * flavor_string) -> SBInstructionList 10627 """ 10628 return _lldb.SBSymbol_GetInstructions(self, *args) 10629 10630 def GetStartAddress(self): 10631 r"""GetStartAddress(SBSymbol self) -> SBAddress""" 10632 return _lldb.SBSymbol_GetStartAddress(self) 10633 10634 def GetEndAddress(self): 10635 r"""GetEndAddress(SBSymbol self) -> SBAddress""" 10636 return _lldb.SBSymbol_GetEndAddress(self) 10637 10638 def GetValue(self): 10639 r"""GetValue(SBSymbol self) -> uint64_t""" 10640 return _lldb.SBSymbol_GetValue(self) 10641 10642 def GetSize(self): 10643 r"""GetSize(SBSymbol self) -> uint64_t""" 10644 return _lldb.SBSymbol_GetSize(self) 10645 10646 def GetPrologueByteSize(self): 10647 r"""GetPrologueByteSize(SBSymbol self) -> uint32_t""" 10648 return _lldb.SBSymbol_GetPrologueByteSize(self) 10649 10650 def GetType(self): 10651 r"""GetType(SBSymbol self) -> lldb::SymbolType""" 10652 return _lldb.SBSymbol_GetType(self) 10653 10654 def __eq__(self, rhs): 10655 r"""__eq__(SBSymbol self, SBSymbol rhs) -> bool""" 10656 return _lldb.SBSymbol___eq__(self, rhs) 10657 10658 def __ne__(self, rhs): 10659 r"""__ne__(SBSymbol self, SBSymbol rhs) -> bool""" 10660 return _lldb.SBSymbol___ne__(self, rhs) 10661 10662 def GetDescription(self, description): 10663 r"""GetDescription(SBSymbol self, SBStream description) -> bool""" 10664 return _lldb.SBSymbol_GetDescription(self, description) 10665 10666 def IsExternal(self): 10667 r"""IsExternal(SBSymbol self) -> bool""" 10668 return _lldb.SBSymbol_IsExternal(self) 10669 10670 def IsSynthetic(self): 10671 r"""IsSynthetic(SBSymbol self) -> bool""" 10672 return _lldb.SBSymbol_IsSynthetic(self) 10673 10674 def __repr__(self): 10675 r"""__repr__(SBSymbol self) -> std::string""" 10676 return _lldb.SBSymbol___repr__(self) 10677 10678 # operator== is a free function, which swig does not handle, so we inject 10679 # our own equality operator here 10680 def __eq__(self, other): 10681 return not self.__ne__(other) 10682 10683 def __hex__(self): 10684 return self.GetStartAddress() 10685 10686 def get_instructions_from_current_target (self): 10687 return self.GetInstructions (target) 10688 10689 name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''') 10690 mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''') 10691 type = property(GetType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSymbolType") that represents the type of this symbol.''') 10692 addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this symbol.''') 10693 end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this symbol.''') 10694 prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''') 10695 instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this symbol.''') 10696 external = property(IsExternal, None, doc='''A read only property that returns a boolean value that indicates if this symbol is externally visiable (exported) from the module that contains it.''') 10697 synthetic = property(IsSynthetic, None, doc='''A read only property that returns a boolean value that indicates if this symbol was synthetically created from information in module that contains it.''') 10698 10699 10700 def __eq__(self, rhs): 10701 if not isinstance(rhs, type(self)): 10702 return False 10703 10704 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 10705 10706 def __ne__(self, rhs): 10707 if not isinstance(rhs, type(self)): 10708 return True 10709 10710 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 10711 10712 10713# Register SBSymbol in _lldb: 10714_lldb.SBSymbol_swigregister(SBSymbol) 10715class SBSymbolContext(object): 10716 r""" 10717 A context object that provides access to core debugger entities. 10718 10719 Many debugger functions require a context when doing lookups. This class 10720 provides a common structure that can be used as the result of a query that 10721 can contain a single result. 10722 10723 For example, :: 10724 10725 exe = os.path.join(os.getcwd(), 'a.out') 10726 10727 # Create a target for the debugger. 10728 target = self.dbg.CreateTarget(exe) 10729 10730 # Now create a breakpoint on main.c by name 'c'. 10731 breakpoint = target.BreakpointCreateByName('c', 'a.out') 10732 10733 # Now launch the process, and do not stop at entry point. 10734 process = target.LaunchSimple(None, None, os.getcwd()) 10735 10736 # The inferior should stop on 'c'. 10737 from lldbutil import get_stopped_thread 10738 thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint) 10739 frame0 = thread.GetFrameAtIndex(0) 10740 10741 # Now get the SBSymbolContext from this frame. We want everything. :-) 10742 context = frame0.GetSymbolContext(lldb.eSymbolContextEverything) 10743 10744 # Get the module. 10745 module = context.GetModule() 10746 ... 10747 10748 # And the compile unit associated with the frame. 10749 compileUnit = context.GetCompileUnit() 10750 ... 10751 10752 """ 10753 10754 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10755 10756 def __init__(self, *args): 10757 r""" 10758 __init__(SBSymbolContext self) -> SBSymbolContext 10759 __init__(SBSymbolContext self, SBSymbolContext rhs) -> SBSymbolContext 10760 """ 10761 _lldb.SBSymbolContext_swiginit(self, _lldb.new_SBSymbolContext(*args)) 10762 __swig_destroy__ = _lldb.delete_SBSymbolContext 10763 10764 def __nonzero__(self): 10765 return _lldb.SBSymbolContext___nonzero__(self) 10766 __bool__ = __nonzero__ 10767 10768 10769 10770 def IsValid(self): 10771 r"""IsValid(SBSymbolContext self) -> bool""" 10772 return _lldb.SBSymbolContext_IsValid(self) 10773 10774 def GetModule(self): 10775 r"""GetModule(SBSymbolContext self) -> SBModule""" 10776 return _lldb.SBSymbolContext_GetModule(self) 10777 10778 def GetCompileUnit(self): 10779 r"""GetCompileUnit(SBSymbolContext self) -> SBCompileUnit""" 10780 return _lldb.SBSymbolContext_GetCompileUnit(self) 10781 10782 def GetFunction(self): 10783 r"""GetFunction(SBSymbolContext self) -> SBFunction""" 10784 return _lldb.SBSymbolContext_GetFunction(self) 10785 10786 def GetBlock(self): 10787 r"""GetBlock(SBSymbolContext self) -> SBBlock""" 10788 return _lldb.SBSymbolContext_GetBlock(self) 10789 10790 def GetLineEntry(self): 10791 r"""GetLineEntry(SBSymbolContext self) -> SBLineEntry""" 10792 return _lldb.SBSymbolContext_GetLineEntry(self) 10793 10794 def GetSymbol(self): 10795 r"""GetSymbol(SBSymbolContext self) -> SBSymbol""" 10796 return _lldb.SBSymbolContext_GetSymbol(self) 10797 10798 def SetModule(self, module): 10799 r"""SetModule(SBSymbolContext self, SBModule module)""" 10800 return _lldb.SBSymbolContext_SetModule(self, module) 10801 10802 def SetCompileUnit(self, compile_unit): 10803 r"""SetCompileUnit(SBSymbolContext self, SBCompileUnit compile_unit)""" 10804 return _lldb.SBSymbolContext_SetCompileUnit(self, compile_unit) 10805 10806 def SetFunction(self, function): 10807 r"""SetFunction(SBSymbolContext self, SBFunction function)""" 10808 return _lldb.SBSymbolContext_SetFunction(self, function) 10809 10810 def SetBlock(self, block): 10811 r"""SetBlock(SBSymbolContext self, SBBlock block)""" 10812 return _lldb.SBSymbolContext_SetBlock(self, block) 10813 10814 def SetLineEntry(self, line_entry): 10815 r"""SetLineEntry(SBSymbolContext self, SBLineEntry line_entry)""" 10816 return _lldb.SBSymbolContext_SetLineEntry(self, line_entry) 10817 10818 def SetSymbol(self, symbol): 10819 r"""SetSymbol(SBSymbolContext self, SBSymbol symbol)""" 10820 return _lldb.SBSymbolContext_SetSymbol(self, symbol) 10821 10822 def GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr): 10823 r"""GetParentOfInlinedScope(SBSymbolContext self, SBAddress curr_frame_pc, SBAddress parent_frame_addr) -> SBSymbolContext""" 10824 return _lldb.SBSymbolContext_GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr) 10825 10826 def GetDescription(self, description): 10827 r"""GetDescription(SBSymbolContext self, SBStream description) -> bool""" 10828 return _lldb.SBSymbolContext_GetDescription(self, description) 10829 10830 def __repr__(self): 10831 r"""__repr__(SBSymbolContext self) -> std::string""" 10832 return _lldb.SBSymbolContext___repr__(self) 10833 10834 module = property(GetModule, SetModule, doc='''A read/write property that allows the getting/setting of the module (lldb.SBModule) in this symbol context.''') 10835 compile_unit = property(GetCompileUnit, SetCompileUnit, doc='''A read/write property that allows the getting/setting of the compile unit (lldb.SBCompileUnit) in this symbol context.''') 10836 function = property(GetFunction, SetFunction, doc='''A read/write property that allows the getting/setting of the function (lldb.SBFunction) in this symbol context.''') 10837 block = property(GetBlock, SetBlock, doc='''A read/write property that allows the getting/setting of the block (lldb.SBBlock) in this symbol context.''') 10838 symbol = property(GetSymbol, SetSymbol, doc='''A read/write property that allows the getting/setting of the symbol (lldb.SBSymbol) in this symbol context.''') 10839 line_entry = property(GetLineEntry, SetLineEntry, doc='''A read/write property that allows the getting/setting of the line entry (lldb.SBLineEntry) in this symbol context.''') 10840 10841 10842# Register SBSymbolContext in _lldb: 10843_lldb.SBSymbolContext_swigregister(SBSymbolContext) 10844class SBSymbolContextList(object): 10845 r""" 10846 Represents a list of symbol context object. See also SBSymbolContext. 10847 10848 For example (from test/python_api/target/TestTargetAPI.py), :: 10849 10850 def find_functions(self, exe_name): 10851 '''Exercise SBTarget.FindFunctions() API.''' 10852 exe = os.path.join(os.getcwd(), exe_name) 10853 10854 # Create a target by the debugger. 10855 target = self.dbg.CreateTarget(exe) 10856 self.assertTrue(target, VALID_TARGET) 10857 10858 list = lldb.SBSymbolContextList() 10859 num = target.FindFunctions('c', lldb.eFunctionNameTypeAuto, False, list) 10860 self.assertTrue(num == 1 and list.GetSize() == 1) 10861 10862 for sc in list: 10863 self.assertTrue(sc.GetModule().GetFileSpec().GetFilename() == exe_name) 10864 self.assertTrue(sc.GetSymbol().GetName() == 'c') 10865 """ 10866 10867 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10868 10869 def __init__(self, *args): 10870 r""" 10871 __init__(SBSymbolContextList self) -> SBSymbolContextList 10872 __init__(SBSymbolContextList self, SBSymbolContextList rhs) -> SBSymbolContextList 10873 """ 10874 _lldb.SBSymbolContextList_swiginit(self, _lldb.new_SBSymbolContextList(*args)) 10875 __swig_destroy__ = _lldb.delete_SBSymbolContextList 10876 10877 def __nonzero__(self): 10878 return _lldb.SBSymbolContextList___nonzero__(self) 10879 __bool__ = __nonzero__ 10880 10881 10882 10883 def IsValid(self): 10884 r"""IsValid(SBSymbolContextList self) -> bool""" 10885 return _lldb.SBSymbolContextList_IsValid(self) 10886 10887 def GetSize(self): 10888 r"""GetSize(SBSymbolContextList self) -> uint32_t""" 10889 return _lldb.SBSymbolContextList_GetSize(self) 10890 10891 def GetContextAtIndex(self, idx): 10892 r"""GetContextAtIndex(SBSymbolContextList self, uint32_t idx) -> SBSymbolContext""" 10893 return _lldb.SBSymbolContextList_GetContextAtIndex(self, idx) 10894 10895 def GetDescription(self, description): 10896 r"""GetDescription(SBSymbolContextList self, SBStream description) -> bool""" 10897 return _lldb.SBSymbolContextList_GetDescription(self, description) 10898 10899 def Append(self, *args): 10900 r""" 10901 Append(SBSymbolContextList self, SBSymbolContext sc) 10902 Append(SBSymbolContextList self, SBSymbolContextList sc_list) 10903 """ 10904 return _lldb.SBSymbolContextList_Append(self, *args) 10905 10906 def Clear(self): 10907 r"""Clear(SBSymbolContextList self)""" 10908 return _lldb.SBSymbolContextList_Clear(self) 10909 10910 def __repr__(self): 10911 r"""__repr__(SBSymbolContextList self) -> std::string""" 10912 return _lldb.SBSymbolContextList___repr__(self) 10913 10914 def __iter__(self): 10915 '''Iterate over all symbol contexts in a lldb.SBSymbolContextList 10916 object.''' 10917 return lldb_iter(self, 'GetSize', 'GetContextAtIndex') 10918 10919 def __len__(self): 10920 return int(self.GetSize()) 10921 10922 def __getitem__(self, key): 10923 count = len(self) 10924 if isinstance(key, int): 10925 if -count <= key < count: 10926 key %= count 10927 return self.GetContextAtIndex(key) 10928 else: 10929 raise IndexError 10930 raise TypeError 10931 10932 def get_module_array(self): 10933 a = [] 10934 for i in range(len(self)): 10935 obj = self.GetContextAtIndex(i).module 10936 if obj: 10937 a.append(obj) 10938 return a 10939 10940 def get_compile_unit_array(self): 10941 a = [] 10942 for i in range(len(self)): 10943 obj = self.GetContextAtIndex(i).compile_unit 10944 if obj: 10945 a.append(obj) 10946 return a 10947 def get_function_array(self): 10948 a = [] 10949 for i in range(len(self)): 10950 obj = self.GetContextAtIndex(i).function 10951 if obj: 10952 a.append(obj) 10953 return a 10954 def get_block_array(self): 10955 a = [] 10956 for i in range(len(self)): 10957 obj = self.GetContextAtIndex(i).block 10958 if obj: 10959 a.append(obj) 10960 return a 10961 def get_symbol_array(self): 10962 a = [] 10963 for i in range(len(self)): 10964 obj = self.GetContextAtIndex(i).symbol 10965 if obj: 10966 a.append(obj) 10967 return a 10968 def get_line_entry_array(self): 10969 a = [] 10970 for i in range(len(self)): 10971 obj = self.GetContextAtIndex(i).line_entry 10972 if obj: 10973 a.append(obj) 10974 return a 10975 10976 modules = property(get_module_array, None, doc='''Returns a list() of lldb.SBModule objects, one for each module in each SBSymbolContext object in this list.''') 10977 compile_units = property(get_compile_unit_array, None, doc='''Returns a list() of lldb.SBCompileUnit objects, one for each compile unit in each SBSymbolContext object in this list.''') 10978 functions = property(get_function_array, None, doc='''Returns a list() of lldb.SBFunction objects, one for each function in each SBSymbolContext object in this list.''') 10979 blocks = property(get_block_array, None, doc='''Returns a list() of lldb.SBBlock objects, one for each block in each SBSymbolContext object in this list.''') 10980 line_entries = property(get_line_entry_array, None, doc='''Returns a list() of lldb.SBLineEntry objects, one for each line entry in each SBSymbolContext object in this list.''') 10981 symbols = property(get_symbol_array, None, doc='''Returns a list() of lldb.SBSymbol objects, one for each symbol in each SBSymbolContext object in this list.''') 10982 10983 10984# Register SBSymbolContextList in _lldb: 10985_lldb.SBSymbolContextList_swigregister(SBSymbolContextList) 10986class SBTarget(object): 10987 r""" 10988 Represents the target program running under the debugger. 10989 10990 SBTarget supports module, breakpoint, and watchpoint iterations. For example, :: 10991 10992 for m in target.module_iter(): 10993 print m 10994 10995 produces: :: 10996 10997 (x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out 10998 (x86_64) /usr/lib/dyld 10999 (x86_64) /usr/lib/libstdc++.6.dylib 11000 (x86_64) /usr/lib/libSystem.B.dylib 11001 (x86_64) /usr/lib/system/libmathCommon.A.dylib 11002 (x86_64) /usr/lib/libSystem.B.dylib(__commpage) 11003 11004 and, :: 11005 11006 for b in target.breakpoint_iter(): 11007 print b 11008 11009 produces: :: 11010 11011 SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1 11012 SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1 11013 11014 and, :: 11015 11016 for wp_loc in target.watchpoint_iter(): 11017 print wp_loc 11018 11019 produces: :: 11020 11021 Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw 11022 declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12' 11023 hit_count = 2 ignore_count = 0 11024 """ 11025 11026 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 11027 eBroadcastBitBreakpointChanged = _lldb.SBTarget_eBroadcastBitBreakpointChanged 11028 11029 eBroadcastBitModulesLoaded = _lldb.SBTarget_eBroadcastBitModulesLoaded 11030 11031 eBroadcastBitModulesUnloaded = _lldb.SBTarget_eBroadcastBitModulesUnloaded 11032 11033 eBroadcastBitWatchpointChanged = _lldb.SBTarget_eBroadcastBitWatchpointChanged 11034 11035 eBroadcastBitSymbolsLoaded = _lldb.SBTarget_eBroadcastBitSymbolsLoaded 11036 11037 eBroadcastBitSymbolsChanged = _lldb.SBTarget_eBroadcastBitSymbolsChanged 11038 11039 11040 def __init__(self, *args): 11041 r""" 11042 __init__(SBTarget self) -> SBTarget 11043 __init__(SBTarget self, SBTarget rhs) -> SBTarget 11044 """ 11045 _lldb.SBTarget_swiginit(self, _lldb.new_SBTarget(*args)) 11046 __swig_destroy__ = _lldb.delete_SBTarget 11047 11048 def __nonzero__(self): 11049 return _lldb.SBTarget___nonzero__(self) 11050 __bool__ = __nonzero__ 11051 11052 11053 11054 def IsValid(self): 11055 r"""IsValid(SBTarget self) -> bool""" 11056 return _lldb.SBTarget_IsValid(self) 11057 11058 @staticmethod 11059 def EventIsTargetEvent(event): 11060 r"""EventIsTargetEvent(SBEvent event) -> bool""" 11061 return _lldb.SBTarget_EventIsTargetEvent(event) 11062 11063 @staticmethod 11064 def GetTargetFromEvent(event): 11065 r"""GetTargetFromEvent(SBEvent event) -> SBTarget""" 11066 return _lldb.SBTarget_GetTargetFromEvent(event) 11067 11068 @staticmethod 11069 def GetNumModulesFromEvent(event): 11070 r"""GetNumModulesFromEvent(SBEvent event) -> uint32_t""" 11071 return _lldb.SBTarget_GetNumModulesFromEvent(event) 11072 11073 @staticmethod 11074 def GetModuleAtIndexFromEvent(idx, event): 11075 r"""GetModuleAtIndexFromEvent(uint32_t const idx, SBEvent event) -> SBModule""" 11076 return _lldb.SBTarget_GetModuleAtIndexFromEvent(idx, event) 11077 11078 @staticmethod 11079 def GetBroadcasterClassName(): 11080 r"""GetBroadcasterClassName() -> char const *""" 11081 return _lldb.SBTarget_GetBroadcasterClassName() 11082 11083 def GetProcess(self): 11084 r"""GetProcess(SBTarget self) -> SBProcess""" 11085 return _lldb.SBTarget_GetProcess(self) 11086 11087 def SetCollectingStats(self, v): 11088 r"""SetCollectingStats(SBTarget self, bool v)""" 11089 return _lldb.SBTarget_SetCollectingStats(self, v) 11090 11091 def GetCollectingStats(self): 11092 r"""GetCollectingStats(SBTarget self) -> bool""" 11093 return _lldb.SBTarget_GetCollectingStats(self) 11094 11095 def GetStatistics(self, *args): 11096 r""" 11097 GetStatistics(SBTarget self) -> SBStructuredData 11098 GetStatistics(SBTarget self, SBStatisticsOptions options) -> SBStructuredData 11099 """ 11100 return _lldb.SBTarget_GetStatistics(self, *args) 11101 11102 def GetPlatform(self): 11103 r""" 11104 GetPlatform(SBTarget self) -> SBPlatform 11105 11106 Return the platform object associated with the target. 11107 11108 After return, the platform object should be checked for 11109 validity. 11110 11111 @return 11112 A platform object. 11113 """ 11114 return _lldb.SBTarget_GetPlatform(self) 11115 11116 def GetEnvironment(self): 11117 r"""GetEnvironment(SBTarget self) -> SBEnvironment""" 11118 return _lldb.SBTarget_GetEnvironment(self) 11119 11120 def Install(self): 11121 r""" 11122 Install(SBTarget self) -> SBError 11123 11124 Install any binaries that need to be installed. 11125 11126 This function does nothing when debugging on the host system. 11127 When connected to remote platforms, the target's main executable 11128 and any modules that have their install path set will be 11129 installed on the remote platform. If the main executable doesn't 11130 have an install location set, it will be installed in the remote 11131 platform's working directory. 11132 11133 @return 11134 An error describing anything that went wrong during 11135 installation. 11136 """ 11137 return _lldb.SBTarget_Install(self) 11138 11139 def LoadCore(self, *args): 11140 r""" 11141 LoadCore(SBTarget self, char const * core_file) -> SBProcess 11142 LoadCore(SBTarget self, char const * core_file, SBError error) -> SBProcess 11143 11144 Load a core file 11145 11146 @param[in] core_file 11147 File path of the core dump. 11148 11149 @param[out] error 11150 An error explaining what went wrong if the operation fails. 11151 (Optional) 11152 11153 @return 11154 A process object for the newly created core file. 11155 11156 For example, 11157 11158 process = target.LoadCore('./a.out.core') 11159 11160 loads a new core file and returns the process object. 11161 """ 11162 return _lldb.SBTarget_LoadCore(self, *args) 11163 11164 def LaunchSimple(self, argv, envp, working_directory): 11165 r""" 11166 LaunchSimple(SBTarget self, char const ** argv, char const ** envp, char const * working_directory) -> SBProcess 11167 11168 Launch a new process with sensible defaults. 11169 11170 :param argv: The argument array. 11171 :param envp: The environment array. 11172 :param working_directory: The working directory to have the child process run in 11173 :return: The newly created process. 11174 :rtype: SBProcess 11175 11176 A pseudo terminal will be used as stdin/stdout/stderr. 11177 No launch flags are passed and the target's debuger is used as a listener. 11178 11179 For example, :: 11180 11181 process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd()) 11182 11183 launches a new process by passing 'X', 'Y', 'Z' as the args to the 11184 executable. 11185 """ 11186 return _lldb.SBTarget_LaunchSimple(self, argv, envp, working_directory) 11187 11188 def Launch(self, *args): 11189 r""" 11190 Launch(SBTarget self, SBListener listener, char const ** argv, char const ** envp, char const * stdin_path, char const * stdout_path, char const * stderr_path, char const * working_directory, uint32_t launch_flags, bool stop_at_entry, SBError error) -> SBProcess 11191 Launch(SBTarget self, SBLaunchInfo launch_info, SBError error) -> SBProcess 11192 11193 Launch a new process. 11194 11195 Launch a new process by spawning a new process using the 11196 target object's executable module's file as the file to launch. 11197 Arguments are given in argv, and the environment variables 11198 are in envp. Standard input and output files can be 11199 optionally re-directed to stdin_path, stdout_path, and 11200 stderr_path. 11201 11202 @param[in] listener 11203 An optional listener that will receive all process events. 11204 If listener is valid then listener will listen to all 11205 process events. If not valid, then this target's debugger 11206 (SBTarget::GetDebugger()) will listen to all process events. 11207 11208 @param[in] argv 11209 The argument array. 11210 11211 @param[in] envp 11212 The environment array. 11213 11214 @param[in] launch_flags 11215 Flags to modify the launch (@see lldb::LaunchFlags) 11216 11217 @param[in] stdin_path 11218 The path to use when re-directing the STDIN of the new 11219 process. If all stdXX_path arguments are NULL, a pseudo 11220 terminal will be used. 11221 11222 @param[in] stdout_path 11223 The path to use when re-directing the STDOUT of the new 11224 process. If all stdXX_path arguments are NULL, a pseudo 11225 terminal will be used. 11226 11227 @param[in] stderr_path 11228 The path to use when re-directing the STDERR of the new 11229 process. If all stdXX_path arguments are NULL, a pseudo 11230 terminal will be used. 11231 11232 @param[in] working_directory 11233 The working directory to have the child process run in 11234 11235 @param[in] launch_flags 11236 Some launch options specified by logical OR'ing 11237 lldb::LaunchFlags enumeration values together. 11238 11239 @param[in] stop_at_entry 11240 If false do not stop the inferior at the entry point. 11241 11242 @param[out] 11243 An error object. Contains the reason if there is some failure. 11244 11245 @return 11246 A process object for the newly created process. 11247 11248 For example, 11249 11250 process = target.Launch(self.dbg.GetListener(), None, None, 11251 None, '/tmp/stdout.txt', None, 11252 None, 0, False, error) 11253 11254 launches a new process by passing nothing for both the args and the envs 11255 and redirect the standard output of the inferior to the /tmp/stdout.txt 11256 file. It does not specify a working directory so that the debug server 11257 will use its idea of what the current working directory is for the 11258 inferior. Also, we ask the debugger not to stop the inferior at the 11259 entry point. If no breakpoint is specified for the inferior, it should 11260 run to completion if no user interaction is required. 11261 """ 11262 return _lldb.SBTarget_Launch(self, *args) 11263 11264 def Attach(self, attach_info, error): 11265 r"""Attach(SBTarget self, SBAttachInfo attach_info, SBError error) -> SBProcess""" 11266 return _lldb.SBTarget_Attach(self, attach_info, error) 11267 11268 def AttachToProcessWithID(self, listener, pid, error): 11269 r""" 11270 AttachToProcessWithID(SBTarget self, SBListener listener, lldb::pid_t pid, SBError error) -> SBProcess 11271 11272 Attach to process with pid. 11273 11274 @param[in] listener 11275 An optional listener that will receive all process events. 11276 If listener is valid then listener will listen to all 11277 process events. If not valid, then this target's debugger 11278 (SBTarget::GetDebugger()) will listen to all process events. 11279 11280 @param[in] pid 11281 The process ID to attach to. 11282 11283 @param[out] 11284 An error explaining what went wrong if attach fails. 11285 11286 @return 11287 A process object for the attached process. 11288 """ 11289 return _lldb.SBTarget_AttachToProcessWithID(self, listener, pid, error) 11290 11291 def AttachToProcessWithName(self, listener, name, wait_for, error): 11292 r""" 11293 AttachToProcessWithName(SBTarget self, SBListener listener, char const * name, bool wait_for, SBError error) -> SBProcess 11294 11295 Attach to process with name. 11296 11297 @param[in] listener 11298 An optional listener that will receive all process events. 11299 If listener is valid then listener will listen to all 11300 process events. If not valid, then this target's debugger 11301 (SBTarget::GetDebugger()) will listen to all process events. 11302 11303 @param[in] name 11304 Basename of process to attach to. 11305 11306 @param[in] wait_for 11307 If true wait for a new instance of 'name' to be launched. 11308 11309 @param[out] 11310 An error explaining what went wrong if attach fails. 11311 11312 @return 11313 A process object for the attached process. 11314 """ 11315 return _lldb.SBTarget_AttachToProcessWithName(self, listener, name, wait_for, error) 11316 11317 def ConnectRemote(self, listener, url, plugin_name, error): 11318 r""" 11319 ConnectRemote(SBTarget self, SBListener listener, char const * url, char const * plugin_name, SBError error) -> SBProcess 11320 11321 Connect to a remote debug server with url. 11322 11323 @param[in] listener 11324 An optional listener that will receive all process events. 11325 If listener is valid then listener will listen to all 11326 process events. If not valid, then this target's debugger 11327 (SBTarget::GetDebugger()) will listen to all process events. 11328 11329 @param[in] url 11330 The url to connect to, e.g., 'connect://localhost:12345'. 11331 11332 @param[in] plugin_name 11333 The plugin name to be used; can be NULL. 11334 11335 @param[out] 11336 An error explaining what went wrong if the connect fails. 11337 11338 @return 11339 A process object for the connected process. 11340 """ 11341 return _lldb.SBTarget_ConnectRemote(self, listener, url, plugin_name, error) 11342 11343 def GetExecutable(self): 11344 r"""GetExecutable(SBTarget self) -> SBFileSpec""" 11345 return _lldb.SBTarget_GetExecutable(self) 11346 11347 def AppendImageSearchPath(self, _from, to, error): 11348 r""" 11349 AppendImageSearchPath(SBTarget self, char const * _from, char const * to, SBError error) 11350 11351 Append the path mapping (from -> to) to the target's paths mapping list. 11352 """ 11353 return _lldb.SBTarget_AppendImageSearchPath(self, _from, to, error) 11354 11355 def AddModule(self, *args): 11356 r""" 11357 AddModule(SBTarget self, SBModule module) -> bool 11358 AddModule(SBTarget self, char const * path, char const * triple, char const * uuid) -> SBModule 11359 AddModule(SBTarget self, char const * path, char const * triple, char const * uuid_cstr, char const * symfile) -> SBModule 11360 AddModule(SBTarget self, SBModuleSpec module_spec) -> SBModule 11361 """ 11362 return _lldb.SBTarget_AddModule(self, *args) 11363 11364 def GetNumModules(self): 11365 r"""GetNumModules(SBTarget self) -> uint32_t""" 11366 return _lldb.SBTarget_GetNumModules(self) 11367 11368 def GetModuleAtIndex(self, idx): 11369 r"""GetModuleAtIndex(SBTarget self, uint32_t idx) -> SBModule""" 11370 return _lldb.SBTarget_GetModuleAtIndex(self, idx) 11371 11372 def RemoveModule(self, module): 11373 r"""RemoveModule(SBTarget self, SBModule module) -> bool""" 11374 return _lldb.SBTarget_RemoveModule(self, module) 11375 11376 def GetDebugger(self): 11377 r"""GetDebugger(SBTarget self) -> SBDebugger""" 11378 return _lldb.SBTarget_GetDebugger(self) 11379 11380 def FindModule(self, file_spec): 11381 r"""FindModule(SBTarget self, SBFileSpec file_spec) -> SBModule""" 11382 return _lldb.SBTarget_FindModule(self, file_spec) 11383 11384 def FindCompileUnits(self, sb_file_spec): 11385 r""" 11386 FindCompileUnits(SBTarget self, SBFileSpec sb_file_spec) -> SBSymbolContextList 11387 11388 Find compile units related to this target and passed source 11389 file. 11390 11391 :param sb_file_spec: A :py:class:`lldb::SBFileSpec` object that contains source file 11392 specification. 11393 :return: The symbol contexts for all the matches. 11394 :rtype: SBSymbolContextList 11395 """ 11396 return _lldb.SBTarget_FindCompileUnits(self, sb_file_spec) 11397 11398 def GetByteOrder(self): 11399 r"""GetByteOrder(SBTarget self) -> lldb::ByteOrder""" 11400 return _lldb.SBTarget_GetByteOrder(self) 11401 11402 def GetAddressByteSize(self): 11403 r"""GetAddressByteSize(SBTarget self) -> uint32_t""" 11404 return _lldb.SBTarget_GetAddressByteSize(self) 11405 11406 def GetTriple(self): 11407 r"""GetTriple(SBTarget self) -> char const *""" 11408 return _lldb.SBTarget_GetTriple(self) 11409 11410 def GetABIName(self): 11411 r"""GetABIName(SBTarget self) -> char const *""" 11412 return _lldb.SBTarget_GetABIName(self) 11413 11414 def GetLabel(self): 11415 r"""GetLabel(SBTarget self) -> char const *""" 11416 return _lldb.SBTarget_GetLabel(self) 11417 11418 def SetLabel(self, label): 11419 r"""SetLabel(SBTarget self, char const * label) -> SBError""" 11420 return _lldb.SBTarget_SetLabel(self, label) 11421 11422 def GetDataByteSize(self): 11423 r""" 11424 GetDataByteSize(SBTarget self) -> uint32_t 11425 11426 Architecture data byte width accessor 11427 11428 :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's data bus. 11429 11430 11431 """ 11432 return _lldb.SBTarget_GetDataByteSize(self) 11433 11434 def GetCodeByteSize(self): 11435 r""" 11436 GetCodeByteSize(SBTarget self) -> uint32_t 11437 11438 Architecture code byte width accessor. 11439 11440 :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's code bus. 11441 11442 11443 """ 11444 return _lldb.SBTarget_GetCodeByteSize(self) 11445 11446 def GetMaximumNumberOfChildrenToDisplay(self): 11447 r"""GetMaximumNumberOfChildrenToDisplay(SBTarget self) -> uint32_t""" 11448 return _lldb.SBTarget_GetMaximumNumberOfChildrenToDisplay(self) 11449 11450 def SetSectionLoadAddress(self, section, section_base_addr): 11451 r"""SetSectionLoadAddress(SBTarget self, SBSection section, lldb::addr_t section_base_addr) -> SBError""" 11452 return _lldb.SBTarget_SetSectionLoadAddress(self, section, section_base_addr) 11453 11454 def ClearSectionLoadAddress(self, section): 11455 r"""ClearSectionLoadAddress(SBTarget self, SBSection section) -> SBError""" 11456 return _lldb.SBTarget_ClearSectionLoadAddress(self, section) 11457 11458 def SetModuleLoadAddress(self, module, sections_offset): 11459 r"""SetModuleLoadAddress(SBTarget self, SBModule module, uint64_t sections_offset) -> SBError""" 11460 return _lldb.SBTarget_SetModuleLoadAddress(self, module, sections_offset) 11461 11462 def ClearModuleLoadAddress(self, module): 11463 r"""ClearModuleLoadAddress(SBTarget self, SBModule module) -> SBError""" 11464 return _lldb.SBTarget_ClearModuleLoadAddress(self, module) 11465 11466 def FindFunctions(self, *args): 11467 r""" 11468 FindFunctions(SBTarget self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList 11469 11470 Find functions by name. 11471 11472 :param name: The name of the function we are looking for. 11473 11474 :param name_type_mask: 11475 A logical OR of one or more FunctionNameType enum bits that 11476 indicate what kind of names should be used when doing the 11477 lookup. Bits include fully qualified names, base names, 11478 C++ methods, or ObjC selectors. 11479 See FunctionNameType for more details. 11480 11481 :return: 11482 A lldb::SBSymbolContextList that gets filled in with all of 11483 the symbol contexts for all the matches. 11484 """ 11485 return _lldb.SBTarget_FindFunctions(self, *args) 11486 11487 def FindFirstGlobalVariable(self, name): 11488 r""" 11489 FindFirstGlobalVariable(SBTarget self, char const * name) -> SBValue 11490 11491 Find the first global (or static) variable by name. 11492 11493 @param[in] name 11494 The name of the global or static variable we are looking 11495 for. 11496 11497 @return 11498 An SBValue that gets filled in with the found variable (if any). 11499 """ 11500 return _lldb.SBTarget_FindFirstGlobalVariable(self, name) 11501 11502 def FindGlobalVariables(self, *args): 11503 r""" 11504 FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches) -> SBValueList 11505 FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBValueList 11506 11507 Find global and static variables by name. 11508 11509 @param[in] name 11510 The name of the global or static variable we are looking 11511 for. 11512 11513 @param[in] max_matches 11514 Allow the number of matches to be limited to max_matches. 11515 11516 @return 11517 A list of matched variables in an SBValueList. 11518 """ 11519 return _lldb.SBTarget_FindGlobalVariables(self, *args) 11520 11521 def FindGlobalFunctions(self, name, max_matches, matchtype): 11522 r"""FindGlobalFunctions(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBSymbolContextList""" 11523 return _lldb.SBTarget_FindGlobalFunctions(self, name, max_matches, matchtype) 11524 11525 def Clear(self): 11526 r"""Clear(SBTarget self)""" 11527 return _lldb.SBTarget_Clear(self) 11528 11529 def ResolveFileAddress(self, file_addr): 11530 r""" 11531 ResolveFileAddress(SBTarget self, lldb::addr_t file_addr) -> SBAddress 11532 11533 Resolve a current file address into a section offset address. 11534 11535 @param[in] file_addr 11536 11537 @return 11538 An SBAddress which will be valid if... 11539 """ 11540 return _lldb.SBTarget_ResolveFileAddress(self, file_addr) 11541 11542 def ResolveLoadAddress(self, vm_addr): 11543 r"""ResolveLoadAddress(SBTarget self, lldb::addr_t vm_addr) -> SBAddress""" 11544 return _lldb.SBTarget_ResolveLoadAddress(self, vm_addr) 11545 11546 def ResolvePastLoadAddress(self, stop_id, vm_addr): 11547 r"""ResolvePastLoadAddress(SBTarget self, uint32_t stop_id, lldb::addr_t vm_addr) -> SBAddress""" 11548 return _lldb.SBTarget_ResolvePastLoadAddress(self, stop_id, vm_addr) 11549 11550 def ResolveSymbolContextForAddress(self, addr, resolve_scope): 11551 r"""ResolveSymbolContextForAddress(SBTarget self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext""" 11552 return _lldb.SBTarget_ResolveSymbolContextForAddress(self, addr, resolve_scope) 11553 11554 def ReadMemory(self, addr, buf, error): 11555 r""" 11556 ReadMemory(SBTarget self, SBAddress addr, void * buf, SBError error) -> size_t 11557 11558 Read target memory. If a target process is running then memory 11559 is read from here. Otherwise the memory is read from the object 11560 files. For a target whose bytes are sized as a multiple of host 11561 bytes, the data read back will preserve the target's byte order. 11562 11563 @param[in] addr 11564 A target address to read from. 11565 11566 @param[out] buf 11567 The buffer to read memory into. 11568 11569 @param[in] size 11570 The maximum number of host bytes to read in the buffer passed 11571 into this call 11572 11573 @param[out] error 11574 Error information is written here if the memory read fails. 11575 11576 @return 11577 The amount of data read in host bytes. 11578 """ 11579 return _lldb.SBTarget_ReadMemory(self, addr, buf, error) 11580 11581 def BreakpointCreateByLocation(self, *args): 11582 r""" 11583 BreakpointCreateByLocation(SBTarget self, char const * file, uint32_t line) -> SBBreakpoint 11584 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line) -> SBBreakpoint 11585 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset) -> SBBreakpoint 11586 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint 11587 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint 11588 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list, bool move_to_nearest_code) -> SBBreakpoint 11589 """ 11590 return _lldb.SBTarget_BreakpointCreateByLocation(self, *args) 11591 11592 def BreakpointCreateByName(self, *args): 11593 r""" 11594 BreakpointCreateByName(SBTarget self, char const * symbol_name, char const * module_name=None) -> SBBreakpoint 11595 BreakpointCreateByName(SBTarget self, char const * symbol_name, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11596 BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11597 BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11598 """ 11599 return _lldb.SBTarget_BreakpointCreateByName(self, *args) 11600 11601 def BreakpointCreateByNames(self, *args): 11602 r""" 11603 BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11604 BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11605 BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, lldb::addr_t offset, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11606 """ 11607 return _lldb.SBTarget_BreakpointCreateByNames(self, *args) 11608 11609 def BreakpointCreateByRegex(self, *args): 11610 r""" 11611 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, char const * module_name=None) -> SBBreakpoint 11612 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11613 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11614 """ 11615 return _lldb.SBTarget_BreakpointCreateByRegex(self, *args) 11616 11617 def BreakpointCreateBySourceRegex(self, *args): 11618 r""" 11619 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpec source_file, char const * module_name=None) -> SBBreakpoint 11620 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file) -> SBBreakpoint 11621 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file, SBStringList func_names) -> SBBreakpoint 11622 """ 11623 return _lldb.SBTarget_BreakpointCreateBySourceRegex(self, *args) 11624 11625 def BreakpointCreateForException(self, language, catch_bp, throw_bp): 11626 r"""BreakpointCreateForException(SBTarget self, lldb::LanguageType language, bool catch_bp, bool throw_bp) -> SBBreakpoint""" 11627 return _lldb.SBTarget_BreakpointCreateForException(self, language, catch_bp, throw_bp) 11628 11629 def BreakpointCreateByAddress(self, address): 11630 r"""BreakpointCreateByAddress(SBTarget self, lldb::addr_t address) -> SBBreakpoint""" 11631 return _lldb.SBTarget_BreakpointCreateByAddress(self, address) 11632 11633 def BreakpointCreateBySBAddress(self, address): 11634 r"""BreakpointCreateBySBAddress(SBTarget self, SBAddress address) -> SBBreakpoint""" 11635 return _lldb.SBTarget_BreakpointCreateBySBAddress(self, address) 11636 11637 def BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware=False): 11638 r""" 11639 BreakpointCreateFromScript(SBTarget self, char const * class_name, SBStructuredData extra_args, SBFileSpecList module_list, SBFileSpecList file_list, bool request_hardware=False) -> SBBreakpoint 11640 11641 Create a breakpoint using a scripted resolver. 11642 11643 @param[in] class_name 11644 This is the name of the class that implements a scripted resolver. 11645 The class should have the following signature: :: 11646 11647 class Resolver: 11648 def __init__(self, bkpt, extra_args): 11649 # bkpt - the breakpoint for which this is the resolver. When 11650 # the resolver finds an interesting address, call AddLocation 11651 # on this breakpoint to add it. 11652 # 11653 # extra_args - an SBStructuredData that can be used to 11654 # parametrize this instance. Same as the extra_args passed 11655 # to BreakpointCreateFromScript. 11656 11657 def __get_depth__ (self): 11658 # This is optional, but if defined, you should return the 11659 # depth at which you want the callback to be called. The 11660 # available options are: 11661 # lldb.eSearchDepthModule 11662 # lldb.eSearchDepthCompUnit 11663 # The default if you don't implement this method is 11664 # eSearchDepthModule. 11665 11666 def __callback__(self, sym_ctx): 11667 # sym_ctx - an SBSymbolContext that is the cursor in the 11668 # search through the program to resolve breakpoints. 11669 # The sym_ctx will be filled out to the depth requested in 11670 # __get_depth__. 11671 # Look in this sym_ctx for new breakpoint locations, 11672 # and if found use bkpt.AddLocation to add them. 11673 # Note, you will only get called for modules/compile_units that 11674 # pass the SearchFilter provided by the module_list & file_list 11675 # passed into BreakpointCreateFromScript. 11676 11677 def get_short_help(self): 11678 # Optional, but if implemented return a short string that will 11679 # be printed at the beginning of the break list output for the 11680 # breakpoint. 11681 11682 @param[in] extra_args 11683 This is an SBStructuredData object that will get passed to the 11684 constructor of the class in class_name. You can use this to 11685 reuse the same class, parametrizing it with entries from this 11686 dictionary. 11687 11688 @param module_list 11689 If this is non-empty, this will be used as the module filter in the 11690 SearchFilter created for this breakpoint. 11691 11692 @param file_list 11693 If this is non-empty, this will be used as the comp unit filter in the 11694 SearchFilter created for this breakpoint. 11695 11696 @return 11697 An SBBreakpoint that will set locations based on the logic in the 11698 resolver's search callback. 11699 """ 11700 return _lldb.SBTarget_BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware) 11701 11702 def BreakpointsCreateFromFile(self, *args): 11703 r""" 11704 BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBBreakpointList new_bps) -> SBError 11705 BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBStringList matching_names, SBBreakpointList new_bps) -> SBError 11706 11707 Read breakpoints from source_file and return the newly created 11708 breakpoints in bkpt_list. 11709 11710 @param[in] source_file 11711 The file from which to read the breakpoints 11712 11713 @param[in] matching_names 11714 Only read in breakpoints whose names match one of the names in this 11715 list. 11716 11717 @param[out] bkpt_list 11718 A list of the newly created breakpoints. 11719 11720 @return 11721 An SBError detailing any errors in reading in the breakpoints. 11722 """ 11723 return _lldb.SBTarget_BreakpointsCreateFromFile(self, *args) 11724 11725 def BreakpointsWriteToFile(self, *args): 11726 r""" 11727 BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file) -> SBError 11728 BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file, SBBreakpointList bkpt_list, bool append=False) -> SBError 11729 11730 Write breakpoints listed in bkpt_list to dest_file. 11731 11732 @param[in] dest_file 11733 The file to which to write the breakpoints. 11734 11735 @param[in] bkpt_list 11736 Only write breakpoints from this list. 11737 11738 @param[in] append 11739 If true, append the breakpoints in bkpt_list to the others 11740 serialized in dest_file. If dest_file doesn't exist, then a new 11741 file will be created and the breakpoints in bkpt_list written to it. 11742 11743 @return 11744 An SBError detailing any errors in writing in the breakpoints. 11745 """ 11746 return _lldb.SBTarget_BreakpointsWriteToFile(self, *args) 11747 11748 def GetNumBreakpoints(self): 11749 r"""GetNumBreakpoints(SBTarget self) -> uint32_t""" 11750 return _lldb.SBTarget_GetNumBreakpoints(self) 11751 11752 def GetBreakpointAtIndex(self, idx): 11753 r"""GetBreakpointAtIndex(SBTarget self, uint32_t idx) -> SBBreakpoint""" 11754 return _lldb.SBTarget_GetBreakpointAtIndex(self, idx) 11755 11756 def BreakpointDelete(self, break_id): 11757 r"""BreakpointDelete(SBTarget self, lldb::break_id_t break_id) -> bool""" 11758 return _lldb.SBTarget_BreakpointDelete(self, break_id) 11759 11760 def FindBreakpointByID(self, break_id): 11761 r"""FindBreakpointByID(SBTarget self, lldb::break_id_t break_id) -> SBBreakpoint""" 11762 return _lldb.SBTarget_FindBreakpointByID(self, break_id) 11763 11764 def FindBreakpointsByName(self, name, bkpt_list): 11765 r"""FindBreakpointsByName(SBTarget self, char const * name, SBBreakpointList bkpt_list) -> bool""" 11766 return _lldb.SBTarget_FindBreakpointsByName(self, name, bkpt_list) 11767 11768 def GetBreakpointNames(self, names): 11769 r"""GetBreakpointNames(SBTarget self, SBStringList names)""" 11770 return _lldb.SBTarget_GetBreakpointNames(self, names) 11771 11772 def DeleteBreakpointName(self, name): 11773 r"""DeleteBreakpointName(SBTarget self, char const * name)""" 11774 return _lldb.SBTarget_DeleteBreakpointName(self, name) 11775 11776 def EnableAllBreakpoints(self): 11777 r"""EnableAllBreakpoints(SBTarget self) -> bool""" 11778 return _lldb.SBTarget_EnableAllBreakpoints(self) 11779 11780 def DisableAllBreakpoints(self): 11781 r"""DisableAllBreakpoints(SBTarget self) -> bool""" 11782 return _lldb.SBTarget_DisableAllBreakpoints(self) 11783 11784 def DeleteAllBreakpoints(self): 11785 r"""DeleteAllBreakpoints(SBTarget self) -> bool""" 11786 return _lldb.SBTarget_DeleteAllBreakpoints(self) 11787 11788 def GetNumWatchpoints(self): 11789 r"""GetNumWatchpoints(SBTarget self) -> uint32_t""" 11790 return _lldb.SBTarget_GetNumWatchpoints(self) 11791 11792 def GetWatchpointAtIndex(self, idx): 11793 r"""GetWatchpointAtIndex(SBTarget self, uint32_t idx) -> SBWatchpoint""" 11794 return _lldb.SBTarget_GetWatchpointAtIndex(self, idx) 11795 11796 def DeleteWatchpoint(self, watch_id): 11797 r"""DeleteWatchpoint(SBTarget self, lldb::watch_id_t watch_id) -> bool""" 11798 return _lldb.SBTarget_DeleteWatchpoint(self, watch_id) 11799 11800 def FindWatchpointByID(self, watch_id): 11801 r"""FindWatchpointByID(SBTarget self, lldb::watch_id_t watch_id) -> SBWatchpoint""" 11802 return _lldb.SBTarget_FindWatchpointByID(self, watch_id) 11803 11804 def WatchAddress(self, addr, size, read, modify, error): 11805 r"""WatchAddress(SBTarget self, lldb::addr_t addr, size_t size, bool read, bool modify, SBError error) -> SBWatchpoint""" 11806 return _lldb.SBTarget_WatchAddress(self, addr, size, read, modify, error) 11807 11808 def WatchpointCreateByAddress(self, addr, size, options, error): 11809 r"""WatchpointCreateByAddress(SBTarget self, lldb::addr_t addr, size_t size, SBWatchpointOptions options, SBError error) -> SBWatchpoint""" 11810 return _lldb.SBTarget_WatchpointCreateByAddress(self, addr, size, options, error) 11811 11812 def EnableAllWatchpoints(self): 11813 r"""EnableAllWatchpoints(SBTarget self) -> bool""" 11814 return _lldb.SBTarget_EnableAllWatchpoints(self) 11815 11816 def DisableAllWatchpoints(self): 11817 r"""DisableAllWatchpoints(SBTarget self) -> bool""" 11818 return _lldb.SBTarget_DisableAllWatchpoints(self) 11819 11820 def DeleteAllWatchpoints(self): 11821 r"""DeleteAllWatchpoints(SBTarget self) -> bool""" 11822 return _lldb.SBTarget_DeleteAllWatchpoints(self) 11823 11824 def GetBroadcaster(self): 11825 r"""GetBroadcaster(SBTarget self) -> SBBroadcaster""" 11826 return _lldb.SBTarget_GetBroadcaster(self) 11827 11828 def FindFirstType(self, type): 11829 r"""FindFirstType(SBTarget self, char const * type) -> SBType""" 11830 return _lldb.SBTarget_FindFirstType(self, type) 11831 11832 def FindTypes(self, type): 11833 r"""FindTypes(SBTarget self, char const * type) -> SBTypeList""" 11834 return _lldb.SBTarget_FindTypes(self, type) 11835 11836 def GetBasicType(self, type): 11837 r"""GetBasicType(SBTarget self, lldb::BasicType type) -> SBType""" 11838 return _lldb.SBTarget_GetBasicType(self, type) 11839 11840 def CreateValueFromAddress(self, name, addr, type): 11841 r""" 11842 CreateValueFromAddress(SBTarget self, char const * name, SBAddress addr, SBType type) -> SBValue 11843 11844 Create an SBValue with the given name by treating the memory starting at addr as an entity of type. 11845 11846 @param[in] name 11847 The name of the resultant SBValue 11848 11849 @param[in] addr 11850 The address of the start of the memory region to be used. 11851 11852 @param[in] type 11853 The type to use to interpret the memory starting at addr. 11854 11855 @return 11856 An SBValue of the given type, may be invalid if there was an error reading 11857 the underlying memory. 11858 """ 11859 return _lldb.SBTarget_CreateValueFromAddress(self, name, addr, type) 11860 11861 def CreateValueFromData(self, name, data, type): 11862 r"""CreateValueFromData(SBTarget self, char const * name, SBData data, SBType type) -> SBValue""" 11863 return _lldb.SBTarget_CreateValueFromData(self, name, data, type) 11864 11865 def CreateValueFromExpression(self, name, expr): 11866 r"""CreateValueFromExpression(SBTarget self, char const * name, char const * expr) -> SBValue""" 11867 return _lldb.SBTarget_CreateValueFromExpression(self, name, expr) 11868 11869 def GetSourceManager(self): 11870 r"""GetSourceManager(SBTarget self) -> SBSourceManager""" 11871 return _lldb.SBTarget_GetSourceManager(self) 11872 11873 def ReadInstructions(self, *args): 11874 r""" 11875 ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count) -> SBInstructionList 11876 ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count, char const * flavor_string) -> SBInstructionList 11877 ReadInstructions(SBTarget self, SBAddress start_addr, SBAddress end_addr, char const * flavor_string) -> SBInstructionList 11878 11879 Disassemble a specified number of instructions starting at an address. 11880 11881 :param base_addr: the address to start disassembly from. 11882 :param count: the number of instructions to disassemble. 11883 :param flavor_string: may be 'intel' or 'att' on x86 targets to specify that style of disassembly. 11884 :rtype: SBInstructionList 11885 11886 """ 11887 return _lldb.SBTarget_ReadInstructions(self, *args) 11888 11889 def GetInstructions(self, base_addr, buf): 11890 r""" 11891 GetInstructions(SBTarget self, SBAddress base_addr, void const * buf) -> SBInstructionList 11892 11893 Disassemble the bytes in a buffer and return them in an SBInstructionList. 11894 11895 :param base_addr: used for symbolicating the offsets in the byte stream when disassembling. 11896 :param buf: bytes to be disassembled. 11897 :param size: (C++) size of the buffer. 11898 :rtype: SBInstructionList 11899 11900 """ 11901 return _lldb.SBTarget_GetInstructions(self, base_addr, buf) 11902 11903 def GetInstructionsWithFlavor(self, base_addr, flavor_string, buf): 11904 r""" 11905 GetInstructionsWithFlavor(SBTarget self, SBAddress base_addr, char const * flavor_string, void const * buf) -> SBInstructionList 11906 11907 Disassemble the bytes in a buffer and return them in an SBInstructionList, with a supplied flavor. 11908 11909 :param base_addr: used for symbolicating the offsets in the byte stream when disassembling. 11910 :param flavor: may be 'intel' or 'att' on x86 targets to specify that style of disassembly. 11911 :param buf: bytes to be disassembled. 11912 :param size: (C++) size of the buffer. 11913 :rtype: SBInstructionList 11914 11915 """ 11916 return _lldb.SBTarget_GetInstructionsWithFlavor(self, base_addr, flavor_string, buf) 11917 11918 def FindSymbols(self, *args): 11919 r"""FindSymbols(SBTarget self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList""" 11920 return _lldb.SBTarget_FindSymbols(self, *args) 11921 11922 def __eq__(self, rhs): 11923 r"""__eq__(SBTarget self, SBTarget rhs) -> bool""" 11924 return _lldb.SBTarget___eq__(self, rhs) 11925 11926 def __ne__(self, rhs): 11927 r"""__ne__(SBTarget self, SBTarget rhs) -> bool""" 11928 return _lldb.SBTarget___ne__(self, rhs) 11929 11930 def GetDescription(self, description, description_level): 11931 r"""GetDescription(SBTarget self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 11932 return _lldb.SBTarget_GetDescription(self, description, description_level) 11933 11934 def EvaluateExpression(self, *args): 11935 r""" 11936 EvaluateExpression(SBTarget self, char const * expr) -> SBValue 11937 EvaluateExpression(SBTarget self, char const * expr, SBExpressionOptions options) -> SBValue 11938 """ 11939 return _lldb.SBTarget_EvaluateExpression(self, *args) 11940 11941 def GetStackRedZoneSize(self): 11942 r"""GetStackRedZoneSize(SBTarget self) -> lldb::addr_t""" 11943 return _lldb.SBTarget_GetStackRedZoneSize(self) 11944 11945 def IsLoaded(self, module): 11946 r""" 11947 IsLoaded(SBTarget self, SBModule module) -> bool 11948 11949 Returns true if the module has been loaded in this `SBTarget`. 11950 A module can be loaded either by the dynamic loader or by being manually 11951 added to the target (see `SBTarget.AddModule` and the ``target module add`` command). 11952 11953 :rtype: bool 11954 11955 """ 11956 return _lldb.SBTarget_IsLoaded(self, module) 11957 11958 def GetLaunchInfo(self): 11959 r"""GetLaunchInfo(SBTarget self) -> SBLaunchInfo""" 11960 return _lldb.SBTarget_GetLaunchInfo(self) 11961 11962 def SetLaunchInfo(self, launch_info): 11963 r"""SetLaunchInfo(SBTarget self, SBLaunchInfo launch_info)""" 11964 return _lldb.SBTarget_SetLaunchInfo(self, launch_info) 11965 11966 def GetTrace(self): 11967 r"""GetTrace(SBTarget self) -> SBTrace""" 11968 return _lldb.SBTarget_GetTrace(self) 11969 11970 def CreateTrace(self, error): 11971 r"""CreateTrace(SBTarget self, SBError error) -> SBTrace""" 11972 return _lldb.SBTarget_CreateTrace(self, error) 11973 11974 def __repr__(self): 11975 r"""__repr__(SBTarget self) -> std::string""" 11976 return _lldb.SBTarget___repr__(self) 11977 11978 # operator== is a free function, which swig does not handle, so we inject 11979 # our own equality operator here 11980 def __eq__(self, other): 11981 return not self.__ne__(other) 11982 11983 class modules_access(object): 11984 '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.''' 11985 def __init__(self, sbtarget): 11986 self.sbtarget = sbtarget 11987 11988 def __len__(self): 11989 if self.sbtarget: 11990 return int(self.sbtarget.GetNumModules()) 11991 return 0 11992 11993 def __getitem__(self, key): 11994 num_modules = self.sbtarget.GetNumModules() 11995 if type(key) is int: 11996 if -num_modules <= key < num_modules: 11997 key %= num_modules 11998 return self.sbtarget.GetModuleAtIndex(key) 11999 elif type(key) is str: 12000 if key.find('/') == -1: 12001 for idx in range(num_modules): 12002 module = self.sbtarget.GetModuleAtIndex(idx) 12003 if module.file.basename == key: 12004 return module 12005 else: 12006 for idx in range(num_modules): 12007 module = self.sbtarget.GetModuleAtIndex(idx) 12008 if module.file.fullpath == key: 12009 return module 12010 # See if the string is a UUID 12011 try: 12012 the_uuid = uuid.UUID(key) 12013 if the_uuid: 12014 for idx in range(num_modules): 12015 module = self.sbtarget.GetModuleAtIndex(idx) 12016 if module.uuid == the_uuid: 12017 return module 12018 except: 12019 return None 12020 elif type(key) is uuid.UUID: 12021 for idx in range(num_modules): 12022 module = self.sbtarget.GetModuleAtIndex(idx) 12023 if module.uuid == key: 12024 return module 12025 elif type(key) is re.SRE_Pattern: 12026 matching_modules = [] 12027 for idx in range(num_modules): 12028 module = self.sbtarget.GetModuleAtIndex(idx) 12029 re_match = key.search(module.path.fullpath) 12030 if re_match: 12031 matching_modules.append(module) 12032 return matching_modules 12033 else: 12034 print("error: unsupported item type: %s" % type(key)) 12035 return None 12036 12037 def get_modules_access_object(self): 12038 '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.''' 12039 return self.modules_access(self) 12040 12041 def get_modules_array(self): 12042 '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.''' 12043 modules = [] 12044 for idx in range(self.GetNumModules()): 12045 modules.append(self.GetModuleAtIndex(idx)) 12046 return modules 12047 12048 def module_iter(self): 12049 '''Returns an iterator over all modules in a lldb.SBTarget 12050 object.''' 12051 return lldb_iter(self, 'GetNumModules', 'GetModuleAtIndex') 12052 12053 def breakpoint_iter(self): 12054 '''Returns an iterator over all breakpoints in a lldb.SBTarget 12055 object.''' 12056 return lldb_iter(self, 'GetNumBreakpoints', 'GetBreakpointAtIndex') 12057 12058 class bkpts_access(object): 12059 '''A helper object that will lazily hand out bkpts for a target when supplied an index.''' 12060 def __init__(self, sbtarget): 12061 self.sbtarget = sbtarget 12062 12063 def __len__(self): 12064 if self.sbtarget: 12065 return int(self.sbtarget.GetNumBreakpoints()) 12066 return 0 12067 12068 def __getitem__(self, key): 12069 if isinstance(key, int): 12070 count = len(self) 12071 if -count <= key < count: 12072 key %= count 12073 return self.sbtarget.GetBreakpointAtIndex(key) 12074 return None 12075 12076 def get_bkpts_access_object(self): 12077 '''An accessor function that returns a bkpts_access() object which allows lazy bkpt access from a lldb.SBtarget object.''' 12078 return self.bkpts_access(self) 12079 12080 def get_target_bkpts(self): 12081 '''An accessor function that returns a list() that contains all bkpts in a lldb.SBtarget object.''' 12082 bkpts = [] 12083 for idx in range(self.GetNumBreakpoints()): 12084 bkpts.append(self.GetBreakpointAtIndex(idx)) 12085 return bkpts 12086 12087 def watchpoint_iter(self): 12088 '''Returns an iterator over all watchpoints in a lldb.SBTarget 12089 object.''' 12090 return lldb_iter(self, 'GetNumWatchpoints', 'GetWatchpointAtIndex') 12091 12092 class watchpoints_access(object): 12093 '''A helper object that will lazily hand out watchpoints for a target when supplied an index.''' 12094 def __init__(self, sbtarget): 12095 self.sbtarget = sbtarget 12096 12097 def __len__(self): 12098 if self.sbtarget: 12099 return int(self.sbtarget.GetNumWatchpoints()) 12100 return 0 12101 12102 def __getitem__(self, key): 12103 if isinstance(key, int): 12104 count = len(self) 12105 if -count <= key < count: 12106 key %= count 12107 return self.sbtarget.GetWatchpointAtIndex(key) 12108 return None 12109 12110 def get_watchpoints_access_object(self): 12111 '''An accessor function that returns a watchpoints_access() object which allows lazy watchpoint access from a lldb.SBtarget object.''' 12112 return self.watchpoints_access(self) 12113 12114 def get_target_watchpoints(self): 12115 '''An accessor function that returns a list() that contains all watchpoints in a lldb.SBtarget object.''' 12116 watchpoints = [] 12117 for idx in range(self.GetNumWatchpoints()): 12118 watchpoints.append(self.GetWatchpointAtIndex(idx)) 12119 return watchpoints 12120 12121 modules = property(get_modules_array, None, doc='''A read only property that returns a list() of lldb.SBModule objects contained in this target. This list is a list all modules that the target currently is tracking (the main executable and all dependent shared libraries).''') 12122 module = property(get_modules_access_object, None, doc=r'''A read only property that returns an object that implements python operator overloading with the square brackets().\n target.module[<int>] allows array access to any modules.\n target.module[<str>] allows access to modules by basename, full path, or uuid string value.\n target.module[uuid.UUID()] allows module access by UUID.\n target.module[re] allows module access using a regular expression that matches the module full path.''') 12123 process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''') 12124 executable = property(GetExecutable, None, doc='''A read only property that returns an lldb object that represents the main executable module (lldb.SBModule) for this target.''') 12125 debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''') 12126 num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''') 12127 breakpoints = property(get_target_bkpts, None, doc='''A read only property that returns a list() of lldb.SBBreakpoint objects for all breakpoints in this target.''') 12128 breakpoint = property(get_bkpts_access_object, None, doc='''A read only property that returns an object that can be used to access breakpoints as an array ("bkpt_12 = lldb.target.bkpt[12]").''') 12129 num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''') 12130 watchpoints = property(get_target_watchpoints, None, doc='''A read only property that returns a list() of lldb.SBwatchpoint objects for all watchpoints in this target.''') 12131 watchpoint = property(get_watchpoints_access_object, None, doc='''A read only property that returns an object that can be used to access watchpoints as an array ("watchpoint_12 = lldb.target.watchpoint[12]").''') 12132 broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''') 12133 byte_order = property(GetByteOrder, None, doc='''A read only property that returns an lldb enumeration value (lldb.eByteOrderLittle, lldb.eByteOrderBig, lldb.eByteOrderInvalid) that represents the byte order for this target.''') 12134 addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''') 12135 triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''') 12136 data_byte_size = property(GetDataByteSize, None, doc='''A read only property that returns the size in host bytes of a byte in the data address space for this target.''') 12137 code_byte_size = property(GetCodeByteSize, None, doc='''A read only property that returns the size in host bytes of a byte in the code address space for this target.''') 12138 platform = property(GetPlatform, None, doc='''A read only property that returns the platform associated with with this target.''') 12139 12140 12141 def __eq__(self, rhs): 12142 if not isinstance(rhs, type(self)): 12143 return False 12144 12145 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 12146 12147 def __ne__(self, rhs): 12148 if not isinstance(rhs, type(self)): 12149 return True 12150 12151 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 12152 12153 12154# Register SBTarget in _lldb: 12155_lldb.SBTarget_swigregister(SBTarget) 12156class SBThread(object): 12157 r""" 12158 Represents a thread of execution. :py:class:`SBProcess` contains SBThread(s). 12159 12160 SBThreads can be referred to by their ID, which maps to the system specific thread 12161 identifier, or by IndexID. The ID may or may not be unique depending on whether the 12162 system reuses its thread identifiers. The IndexID is a monotonically increasing identifier 12163 that will always uniquely reference a particular thread, and when that thread goes 12164 away it will not be reused. 12165 12166 SBThread supports frame iteration. For example (from test/python_api/ 12167 lldbutil/iter/TestLLDBIterator.py), :: 12168 12169 from lldbutil import print_stacktrace 12170 stopped_due_to_breakpoint = False 12171 for thread in process: 12172 if self.TraceOn(): 12173 print_stacktrace(thread) 12174 ID = thread.GetThreadID() 12175 if thread.GetStopReason() == lldb.eStopReasonBreakpoint: 12176 stopped_due_to_breakpoint = True 12177 for frame in thread: 12178 self.assertTrue(frame.GetThread().GetThreadID() == ID) 12179 if self.TraceOn(): 12180 print frame 12181 12182 self.assertTrue(stopped_due_to_breakpoint) 12183 12184 See also :py:class:`SBFrame` . 12185 """ 12186 12187 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12188 eBroadcastBitStackChanged = _lldb.SBThread_eBroadcastBitStackChanged 12189 12190 eBroadcastBitThreadSuspended = _lldb.SBThread_eBroadcastBitThreadSuspended 12191 12192 eBroadcastBitThreadResumed = _lldb.SBThread_eBroadcastBitThreadResumed 12193 12194 eBroadcastBitSelectedFrameChanged = _lldb.SBThread_eBroadcastBitSelectedFrameChanged 12195 12196 eBroadcastBitThreadSelected = _lldb.SBThread_eBroadcastBitThreadSelected 12197 12198 12199 @staticmethod 12200 def GetBroadcasterClassName(): 12201 r"""GetBroadcasterClassName() -> char const *""" 12202 return _lldb.SBThread_GetBroadcasterClassName() 12203 12204 def __init__(self, *args): 12205 r""" 12206 __init__(SBThread self) -> SBThread 12207 __init__(SBThread self, SBThread thread) -> SBThread 12208 """ 12209 _lldb.SBThread_swiginit(self, _lldb.new_SBThread(*args)) 12210 __swig_destroy__ = _lldb.delete_SBThread 12211 12212 def GetQueue(self): 12213 r""" 12214 GetQueue(SBThread self) -> SBQueue 12215 12216 Return the SBQueue for this thread. If this thread is not currently associated 12217 with a libdispatch queue, the SBQueue object's IsValid() method will return false. 12218 If this SBThread is actually a HistoryThread, we may be able to provide QueueID 12219 and QueueName, but not provide an SBQueue. Those individual attributes may have 12220 been saved for the HistoryThread without enough information to reconstitute the 12221 entire SBQueue at that time. 12222 This method takes no arguments, returns an SBQueue. 12223 """ 12224 return _lldb.SBThread_GetQueue(self) 12225 12226 def __nonzero__(self): 12227 return _lldb.SBThread___nonzero__(self) 12228 __bool__ = __nonzero__ 12229 12230 12231 12232 def IsValid(self): 12233 r"""IsValid(SBThread self) -> bool""" 12234 return _lldb.SBThread_IsValid(self) 12235 12236 def Clear(self): 12237 r"""Clear(SBThread self)""" 12238 return _lldb.SBThread_Clear(self) 12239 12240 def GetStopReason(self): 12241 r"""GetStopReason(SBThread self) -> lldb::StopReason""" 12242 return _lldb.SBThread_GetStopReason(self) 12243 12244 def GetStopReasonDataCount(self): 12245 r""" 12246 GetStopReasonDataCount(SBThread self) -> size_t 12247 12248 Get the number of words associated with the stop reason. 12249 See also GetStopReasonDataAtIndex(). 12250 """ 12251 return _lldb.SBThread_GetStopReasonDataCount(self) 12252 12253 def GetStopReasonDataAtIndex(self, idx): 12254 r""" 12255 GetStopReasonDataAtIndex(SBThread self, uint32_t idx) -> uint64_t 12256 12257 Get information associated with a stop reason. 12258 12259 Breakpoint stop reasons will have data that consists of pairs of 12260 breakpoint IDs followed by the breakpoint location IDs (they always come 12261 in pairs). 12262 12263 Stop Reason Count Data Type 12264 ======================== ===== ========================================= 12265 eStopReasonNone 0 12266 eStopReasonTrace 0 12267 eStopReasonBreakpoint N duple: {breakpoint id, location id} 12268 eStopReasonWatchpoint 1 watchpoint id 12269 eStopReasonSignal 1 unix signal number 12270 eStopReasonException N exception data 12271 eStopReasonExec 0 12272 eStopReasonFork 1 pid of the child process 12273 eStopReasonVFork 1 pid of the child process 12274 eStopReasonVForkDone 0 12275 eStopReasonPlanComplete 0 12276 """ 12277 return _lldb.SBThread_GetStopReasonDataAtIndex(self, idx) 12278 12279 def GetStopReasonExtendedInfoAsJSON(self, stream): 12280 r""" 12281 GetStopReasonExtendedInfoAsJSON(SBThread self, SBStream stream) -> bool 12282 12283 Collects a thread's stop reason extended information dictionary and prints it 12284 into the SBStream in a JSON format. The format of this JSON dictionary depends 12285 on the stop reason and is currently used only for instrumentation plugins. 12286 """ 12287 return _lldb.SBThread_GetStopReasonExtendedInfoAsJSON(self, stream) 12288 12289 def GetStopReasonExtendedBacktraces(self, type): 12290 r""" 12291 GetStopReasonExtendedBacktraces(SBThread self, lldb::InstrumentationRuntimeType type) -> SBThreadCollection 12292 12293 Returns a collection of historical stack traces that are significant to the 12294 current stop reason. Used by ThreadSanitizer, where we provide various stack 12295 traces that were involved in a data race or other type of detected issue. 12296 """ 12297 return _lldb.SBThread_GetStopReasonExtendedBacktraces(self, type) 12298 12299 def GetStopDescription(self, dst_or_null): 12300 r""" 12301 GetStopDescription(SBThread self, char * dst_or_null) -> size_t 12302 12303 Pass only an (int)length and expect to get a Python string describing the 12304 stop reason. 12305 """ 12306 return _lldb.SBThread_GetStopDescription(self, dst_or_null) 12307 12308 def GetStopReturnValue(self): 12309 r"""GetStopReturnValue(SBThread self) -> SBValue""" 12310 return _lldb.SBThread_GetStopReturnValue(self) 12311 12312 def GetThreadID(self): 12313 r""" 12314 GetThreadID(SBThread self) -> lldb::tid_t 12315 12316 Returns a unique thread identifier (type lldb::tid_t, typically a 64-bit type) 12317 for the current SBThread that will remain constant throughout the thread's 12318 lifetime in this process and will not be reused by another thread during this 12319 process lifetime. On Mac OS X systems, this is a system-wide unique thread 12320 identifier; this identifier is also used by other tools like sample which helps 12321 to associate data from those tools with lldb. See related GetIndexID. 12322 """ 12323 return _lldb.SBThread_GetThreadID(self) 12324 12325 def GetIndexID(self): 12326 r""" 12327 GetIndexID(SBThread self) -> uint32_t 12328 12329 Return the index number for this SBThread. The index number is the same thing 12330 that a user gives as an argument to 'thread select' in the command line lldb. 12331 These numbers start at 1 (for the first thread lldb sees in a debug session) 12332 and increments up throughout the process lifetime. An index number will not be 12333 reused for a different thread later in a process - thread 1 will always be 12334 associated with the same thread. See related GetThreadID. 12335 This method returns a uint32_t index number, takes no arguments. 12336 """ 12337 return _lldb.SBThread_GetIndexID(self) 12338 12339 def GetName(self): 12340 r"""GetName(SBThread self) -> char const *""" 12341 return _lldb.SBThread_GetName(self) 12342 12343 def GetQueueName(self): 12344 r""" 12345 GetQueueName(SBThread self) -> char const * 12346 12347 Return the queue name associated with this thread, if any, as a str. 12348 For example, with a libdispatch (aka Grand Central Dispatch) queue. 12349 """ 12350 return _lldb.SBThread_GetQueueName(self) 12351 12352 def GetQueueID(self): 12353 r""" 12354 GetQueueID(SBThread self) -> lldb::queue_id_t 12355 12356 Return the dispatch_queue_id for this thread, if any, as a lldb::queue_id_t. 12357 For example, with a libdispatch (aka Grand Central Dispatch) queue. 12358 """ 12359 return _lldb.SBThread_GetQueueID(self) 12360 12361 def GetInfoItemByPathAsString(self, path, strm): 12362 r""" 12363 GetInfoItemByPathAsString(SBThread self, char const * path, SBStream strm) -> bool 12364 12365 Takes a path string and a SBStream reference as parameters, returns a bool. 12366 Collects the thread's 'info' dictionary from the remote system, uses the path 12367 argument to descend into the dictionary to an item of interest, and prints 12368 it into the SBStream in a natural format. Return bool is to indicate if 12369 anything was printed into the stream (true) or not (false). 12370 """ 12371 return _lldb.SBThread_GetInfoItemByPathAsString(self, path, strm) 12372 12373 def StepOver(self, *args): 12374 r""" 12375 StepOver(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12376 StepOver(SBThread self, lldb::RunMode stop_other_threads, SBError error) 12377 Do a source level single step over in the currently selected thread. 12378 """ 12379 return _lldb.SBThread_StepOver(self, *args) 12380 12381 def StepInto(self, *args): 12382 r""" 12383 StepInto(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12384 StepInto(SBThread self, char const * target_name, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12385 StepInto(SBThread self, char const * target_name, uint32_t end_line, SBError error, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12386 12387 Step the current thread from the current source line to the line given by end_line, stopping if 12388 the thread steps into the function given by target_name. If target_name is None, then stepping will stop 12389 in any of the places we would normally stop. 12390 """ 12391 return _lldb.SBThread_StepInto(self, *args) 12392 12393 def StepOut(self, *args): 12394 r""" 12395 StepOut(SBThread self) 12396 StepOut(SBThread self, SBError error) 12397 Step out of the currently selected thread. 12398 """ 12399 return _lldb.SBThread_StepOut(self, *args) 12400 12401 def StepOutOfFrame(self, *args): 12402 r""" 12403 StepOutOfFrame(SBThread self, SBFrame frame) 12404 StepOutOfFrame(SBThread self, SBFrame frame, SBError error) 12405 Step out of the specified frame. 12406 """ 12407 return _lldb.SBThread_StepOutOfFrame(self, *args) 12408 12409 def StepInstruction(self, *args): 12410 r""" 12411 StepInstruction(SBThread self, bool step_over) 12412 StepInstruction(SBThread self, bool step_over, SBError error) 12413 Do an instruction level single step in the currently selected thread. 12414 """ 12415 return _lldb.SBThread_StepInstruction(self, *args) 12416 12417 def StepOverUntil(self, frame, file_spec, line): 12418 r"""StepOverUntil(SBThread self, SBFrame frame, SBFileSpec file_spec, uint32_t line) -> SBError""" 12419 return _lldb.SBThread_StepOverUntil(self, frame, file_spec, line) 12420 12421 def StepUsingScriptedThreadPlan(self, *args): 12422 r""" 12423 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name) -> SBError 12424 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, bool resume_immediately) -> SBError 12425 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, SBStructuredData args_data, bool resume_immediately) -> SBError 12426 """ 12427 return _lldb.SBThread_StepUsingScriptedThreadPlan(self, *args) 12428 12429 def JumpToLine(self, file_spec, line): 12430 r"""JumpToLine(SBThread self, SBFileSpec file_spec, uint32_t line) -> SBError""" 12431 return _lldb.SBThread_JumpToLine(self, file_spec, line) 12432 12433 def RunToAddress(self, *args): 12434 r""" 12435 RunToAddress(SBThread self, lldb::addr_t addr) 12436 RunToAddress(SBThread self, lldb::addr_t addr, SBError error) 12437 """ 12438 return _lldb.SBThread_RunToAddress(self, *args) 12439 12440 def ReturnFromFrame(self, frame, return_value): 12441 r""" 12442 ReturnFromFrame(SBThread self, SBFrame frame, SBValue return_value) -> SBError 12443 12444 Force a return from the frame passed in (and any frames younger than it) 12445 without executing any more code in those frames. If return_value contains 12446 a valid SBValue, that will be set as the return value from frame. Note, at 12447 present only scalar return values are supported. 12448 """ 12449 return _lldb.SBThread_ReturnFromFrame(self, frame, return_value) 12450 12451 def UnwindInnermostExpression(self): 12452 r""" 12453 UnwindInnermostExpression(SBThread self) -> SBError 12454 12455 Unwind the stack frames from the innermost expression evaluation. 12456 This API is equivalent to 'thread return -x'. 12457 """ 12458 return _lldb.SBThread_UnwindInnermostExpression(self) 12459 12460 def Suspend(self, *args): 12461 r""" 12462 Suspend(SBThread self) -> bool 12463 Suspend(SBThread self, SBError error) -> bool 12464 12465 LLDB currently supports process centric debugging which means when any 12466 thread in a process stops, all other threads are stopped. The Suspend() 12467 call here tells our process to suspend a thread and not let it run when 12468 the other threads in a process are allowed to run. So when 12469 SBProcess::Continue() is called, any threads that aren't suspended will 12470 be allowed to run. If any of the SBThread functions for stepping are 12471 called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the 12472 thread will now be allowed to run and these functions will simply return. 12473 12474 Eventually we plan to add support for thread centric debugging where 12475 each thread is controlled individually and each thread would broadcast 12476 its state, but we haven't implemented this yet. 12477 12478 Likewise the SBThread::Resume() call will again allow the thread to run 12479 when the process is continued. 12480 12481 Suspend() and Resume() functions are not currently reference counted, if 12482 anyone has the need for them to be reference counted, please let us 12483 know. 12484 """ 12485 return _lldb.SBThread_Suspend(self, *args) 12486 12487 def Resume(self, *args): 12488 r""" 12489 Resume(SBThread self) -> bool 12490 Resume(SBThread self, SBError error) -> bool 12491 """ 12492 return _lldb.SBThread_Resume(self, *args) 12493 12494 def IsSuspended(self): 12495 r"""IsSuspended(SBThread self) -> bool""" 12496 return _lldb.SBThread_IsSuspended(self) 12497 12498 def IsStopped(self): 12499 r"""IsStopped(SBThread self) -> bool""" 12500 return _lldb.SBThread_IsStopped(self) 12501 12502 def GetNumFrames(self): 12503 r"""GetNumFrames(SBThread self) -> uint32_t""" 12504 return _lldb.SBThread_GetNumFrames(self) 12505 12506 def GetFrameAtIndex(self, idx): 12507 r"""GetFrameAtIndex(SBThread self, uint32_t idx) -> SBFrame""" 12508 return _lldb.SBThread_GetFrameAtIndex(self, idx) 12509 12510 def GetSelectedFrame(self): 12511 r"""GetSelectedFrame(SBThread self) -> SBFrame""" 12512 return _lldb.SBThread_GetSelectedFrame(self) 12513 12514 def SetSelectedFrame(self, frame_idx): 12515 r"""SetSelectedFrame(SBThread self, uint32_t frame_idx) -> SBFrame""" 12516 return _lldb.SBThread_SetSelectedFrame(self, frame_idx) 12517 12518 @staticmethod 12519 def EventIsThreadEvent(event): 12520 r"""EventIsThreadEvent(SBEvent event) -> bool""" 12521 return _lldb.SBThread_EventIsThreadEvent(event) 12522 12523 @staticmethod 12524 def GetStackFrameFromEvent(event): 12525 r"""GetStackFrameFromEvent(SBEvent event) -> SBFrame""" 12526 return _lldb.SBThread_GetStackFrameFromEvent(event) 12527 12528 @staticmethod 12529 def GetThreadFromEvent(event): 12530 r"""GetThreadFromEvent(SBEvent event) -> SBThread""" 12531 return _lldb.SBThread_GetThreadFromEvent(event) 12532 12533 def GetProcess(self): 12534 r"""GetProcess(SBThread self) -> SBProcess""" 12535 return _lldb.SBThread_GetProcess(self) 12536 12537 def __eq__(self, rhs): 12538 r"""__eq__(SBThread self, SBThread rhs) -> bool""" 12539 return _lldb.SBThread___eq__(self, rhs) 12540 12541 def __ne__(self, rhs): 12542 r"""__ne__(SBThread self, SBThread rhs) -> bool""" 12543 return _lldb.SBThread___ne__(self, rhs) 12544 12545 def GetDescription(self, *args): 12546 r""" 12547 GetDescription(SBThread self, SBStream description) -> bool 12548 GetDescription(SBThread self, SBStream description, bool stop_format) -> bool 12549 12550 Get the description strings for this thread that match what the 12551 lldb driver will present, using the thread-format (stop_format==false) 12552 or thread-stop-format (stop_format = true). 12553 """ 12554 return _lldb.SBThread_GetDescription(self, *args) 12555 12556 def GetDescriptionWithFormat(self, format, output): 12557 r"""GetDescriptionWithFormat(SBThread self, SBFormat format, SBStream output) -> SBError""" 12558 return _lldb.SBThread_GetDescriptionWithFormat(self, format, output) 12559 12560 def GetStatus(self, status): 12561 r"""GetStatus(SBThread self, SBStream status) -> bool""" 12562 return _lldb.SBThread_GetStatus(self, status) 12563 12564 def GetExtendedBacktraceThread(self, type): 12565 r""" 12566 GetExtendedBacktraceThread(SBThread self, char const * type) -> SBThread 12567 12568 Given an argument of str to specify the type of thread-origin extended 12569 backtrace to retrieve, query whether the origin of this thread is 12570 available. An SBThread is retured; SBThread.IsValid will return true 12571 if an extended backtrace was available. The returned SBThread is not 12572 a part of the SBProcess' thread list and it cannot be manipulated like 12573 normal threads -- you cannot step or resume it, for instance -- it is 12574 intended to used primarily for generating a backtrace. You may request 12575 the returned thread's own thread origin in turn. 12576 """ 12577 return _lldb.SBThread_GetExtendedBacktraceThread(self, type) 12578 12579 def GetExtendedBacktraceOriginatingIndexID(self): 12580 r""" 12581 GetExtendedBacktraceOriginatingIndexID(SBThread self) -> uint32_t 12582 12583 If this SBThread is an ExtendedBacktrace thread, get the IndexID of the 12584 original thread that this ExtendedBacktrace thread represents, if 12585 available. The thread that was running this backtrace in the past may 12586 not have been registered with lldb's thread index (if it was created, 12587 did its work, and was destroyed without lldb ever stopping execution). 12588 In that case, this ExtendedBacktrace thread's IndexID will be returned. 12589 """ 12590 return _lldb.SBThread_GetExtendedBacktraceOriginatingIndexID(self) 12591 12592 def GetCurrentException(self): 12593 r""" 12594 GetCurrentException(SBThread self) -> SBValue 12595 12596 Returns an SBValue object represeting the current exception for the thread, 12597 if there is any. Currently, this works for Obj-C code and returns an SBValue 12598 representing the NSException object at the throw site or that's currently 12599 being processes. 12600 """ 12601 return _lldb.SBThread_GetCurrentException(self) 12602 12603 def GetCurrentExceptionBacktrace(self): 12604 r""" 12605 GetCurrentExceptionBacktrace(SBThread self) -> SBThread 12606 12607 Returns a historical (fake) SBThread representing the stack trace of an 12608 exception, if there is one for the thread. Currently, this works for Obj-C 12609 code, and can retrieve the throw-site backtrace of an NSException object 12610 even when the program is no longer at the throw site. 12611 """ 12612 return _lldb.SBThread_GetCurrentExceptionBacktrace(self) 12613 12614 def SafeToCallFunctions(self): 12615 r""" 12616 SafeToCallFunctions(SBThread self) -> bool 12617 12618 lldb may be able to detect that function calls should not be executed 12619 on a given thread at a particular point in time. It is recommended that 12620 this is checked before performing an inferior function call on a given 12621 thread. 12622 """ 12623 return _lldb.SBThread_SafeToCallFunctions(self) 12624 12625 def GetSiginfo(self): 12626 r""" 12627 GetSiginfo(SBThread self) -> SBValue 12628 12629 Returns a SBValue object representing the siginfo for the current signal. 12630 12631 """ 12632 return _lldb.SBThread_GetSiginfo(self) 12633 12634 def __repr__(self): 12635 r"""__repr__(SBThread self) -> std::string""" 12636 return _lldb.SBThread___repr__(self) 12637 12638 # operator== is a free function, which swig does not handle, so we inject 12639 # our own equality operator here 12640 def __eq__(self, other): 12641 return not self.__ne__(other) 12642 12643 def __iter__(self): 12644 '''Iterate over all frames in a lldb.SBThread object.''' 12645 return lldb_iter(self, 'GetNumFrames', 'GetFrameAtIndex') 12646 12647 def __len__(self): 12648 '''Return the number of frames in a lldb.SBThread object.''' 12649 return self.GetNumFrames() 12650 12651 class frames_access(object): 12652 '''A helper object that will lazily hand out frames for a thread when supplied an index.''' 12653 def __init__(self, sbthread): 12654 self.sbthread = sbthread 12655 12656 def __len__(self): 12657 if self.sbthread: 12658 return int(self.sbthread.GetNumFrames()) 12659 return 0 12660 12661 def __getitem__(self, key): 12662 if isinstance(key, int): 12663 count = len(self) 12664 if -count <= key < count: 12665 key %= count 12666 return self.sbthread.GetFrameAtIndex(key) 12667 return None 12668 12669 def get_frames_access_object(self): 12670 '''An accessor function that returns a frames_access() object which allows lazy frame access from a lldb.SBThread object.''' 12671 return self.frames_access (self) 12672 12673 def get_thread_frames(self): 12674 '''An accessor function that returns a list() that contains all frames in a lldb.SBThread object.''' 12675 frames = [] 12676 for frame in self: 12677 frames.append(frame) 12678 return frames 12679 12680 id = property(GetThreadID, None, doc='''A read only property that returns the thread ID as an integer.''') 12681 idx = property(GetIndexID, None, doc='''A read only property that returns the thread index ID as an integer. Thread index ID values start at 1 and increment as threads come and go and can be used to uniquely identify threads.''') 12682 return_value = property(GetStopReturnValue, None, doc='''A read only property that returns an lldb object that represents the return value from the last stop (lldb.SBValue) if we just stopped due to stepping out of a function.''') 12683 process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that owns this thread.''') 12684 num_frames = property(GetNumFrames, None, doc='''A read only property that returns the number of stack frames in this thread as an integer.''') 12685 frames = property(get_thread_frames, None, doc='''A read only property that returns a list() of lldb.SBFrame objects for all frames in this thread.''') 12686 frame = property(get_frames_access_object, None, doc='''A read only property that returns an object that can be used to access frames as an array ("frame_12 = lldb.thread.frame[12]").''') 12687 name = property(GetName, None, doc='''A read only property that returns the name of this thread as a string.''') 12688 queue = property(GetQueueName, None, doc='''A read only property that returns the dispatch queue name of this thread as a string.''') 12689 queue_id = property(GetQueueID, None, doc='''A read only property that returns the dispatch queue id of this thread as an integer.''') 12690 stop_reason = property(GetStopReason, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eStopReason") that represents the reason this thread stopped.''') 12691 is_suspended = property(IsSuspended, None, doc='''A read only property that returns a boolean value that indicates if this thread is suspended.''') 12692 is_stopped = property(IsStopped, None, doc='''A read only property that returns a boolean value that indicates if this thread is stopped but not exited.''') 12693 12694 12695 def __eq__(self, rhs): 12696 if not isinstance(rhs, type(self)): 12697 return False 12698 12699 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 12700 12701 def __ne__(self, rhs): 12702 if not isinstance(rhs, type(self)): 12703 return True 12704 12705 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 12706 12707 12708# Register SBThread in _lldb: 12709_lldb.SBThread_swigregister(SBThread) 12710class SBThreadCollection(object): 12711 r"""Represents a collection of SBThread objects.""" 12712 12713 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12714 __repr__ = _swig_repr 12715 12716 def __init__(self, *args): 12717 r""" 12718 __init__(SBThreadCollection self) -> SBThreadCollection 12719 __init__(SBThreadCollection self, SBThreadCollection rhs) -> SBThreadCollection 12720 """ 12721 _lldb.SBThreadCollection_swiginit(self, _lldb.new_SBThreadCollection(*args)) 12722 __swig_destroy__ = _lldb.delete_SBThreadCollection 12723 12724 def __nonzero__(self): 12725 return _lldb.SBThreadCollection___nonzero__(self) 12726 __bool__ = __nonzero__ 12727 12728 12729 12730 def IsValid(self): 12731 r"""IsValid(SBThreadCollection self) -> bool""" 12732 return _lldb.SBThreadCollection_IsValid(self) 12733 12734 def GetSize(self): 12735 r"""GetSize(SBThreadCollection self) -> size_t""" 12736 return _lldb.SBThreadCollection_GetSize(self) 12737 12738 def GetThreadAtIndex(self, idx): 12739 r"""GetThreadAtIndex(SBThreadCollection self, size_t idx) -> SBThread""" 12740 return _lldb.SBThreadCollection_GetThreadAtIndex(self, idx) 12741 12742 12743 def __iter__(self): 12744 '''Iterate over all threads in a lldb.SBThreadCollection object.''' 12745 return lldb_iter(self, 'GetSize', 'GetThreadAtIndex') 12746 12747 def __len__(self): 12748 '''Return the number of threads in a lldb.SBThreadCollection object.''' 12749 return self.GetSize() 12750 12751 12752# Register SBThreadCollection in _lldb: 12753_lldb.SBThreadCollection_swigregister(SBThreadCollection) 12754class SBThreadPlan(object): 12755 r""" 12756 Represents a plan for the execution control of a given thread. 12757 12758 See also :py:class:`SBThread` and :py:class:`SBFrame`. 12759 """ 12760 12761 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12762 __repr__ = _swig_repr 12763 12764 def __init__(self, *args): 12765 r""" 12766 __init__(SBThreadPlan self) -> SBThreadPlan 12767 __init__(SBThreadPlan self, SBThreadPlan threadPlan) -> SBThreadPlan 12768 __init__(SBThreadPlan self, SBThread thread, char const * class_name) -> SBThreadPlan 12769 __init__(SBThreadPlan self, SBThread thread, char const * class_name, SBStructuredData args_data) -> SBThreadPlan 12770 """ 12771 _lldb.SBThreadPlan_swiginit(self, _lldb.new_SBThreadPlan(*args)) 12772 __swig_destroy__ = _lldb.delete_SBThreadPlan 12773 12774 def __nonzero__(self): 12775 return _lldb.SBThreadPlan___nonzero__(self) 12776 __bool__ = __nonzero__ 12777 12778 12779 12780 def Clear(self): 12781 r"""Clear(SBThreadPlan self)""" 12782 return _lldb.SBThreadPlan_Clear(self) 12783 12784 def GetStopReason(self): 12785 r"""GetStopReason(SBThreadPlan self) -> lldb::StopReason""" 12786 return _lldb.SBThreadPlan_GetStopReason(self) 12787 12788 def GetStopReasonDataCount(self): 12789 r""" 12790 GetStopReasonDataCount(SBThreadPlan self) -> size_t 12791 12792 Get the number of words associated with the stop reason. 12793 See also GetStopReasonDataAtIndex(). 12794 """ 12795 return _lldb.SBThreadPlan_GetStopReasonDataCount(self) 12796 12797 def GetStopReasonDataAtIndex(self, idx): 12798 r""" 12799 GetStopReasonDataAtIndex(SBThreadPlan self, uint32_t idx) -> uint64_t 12800 12801 Get information associated with a stop reason. 12802 12803 Breakpoint stop reasons will have data that consists of pairs of 12804 breakpoint IDs followed by the breakpoint location IDs (they always come 12805 in pairs). 12806 12807 Stop Reason Count Data Type 12808 ======================== ===== ========================================= 12809 eStopReasonNone 0 12810 eStopReasonTrace 0 12811 eStopReasonBreakpoint N duple: {breakpoint id, location id} 12812 eStopReasonWatchpoint 1 watchpoint id 12813 eStopReasonSignal 1 unix signal number 12814 eStopReasonException N exception data 12815 eStopReasonExec 0 12816 eStopReasonFork 1 pid of the child process 12817 eStopReasonVFork 1 pid of the child process 12818 eStopReasonVForkDone 0 12819 eStopReasonPlanComplete 0 12820 """ 12821 return _lldb.SBThreadPlan_GetStopReasonDataAtIndex(self, idx) 12822 12823 def GetThread(self): 12824 r"""GetThread(SBThreadPlan self) -> SBThread""" 12825 return _lldb.SBThreadPlan_GetThread(self) 12826 12827 def GetDescription(self, description): 12828 r"""GetDescription(SBThreadPlan self, SBStream description) -> bool""" 12829 return _lldb.SBThreadPlan_GetDescription(self, description) 12830 12831 def SetPlanComplete(self, success): 12832 r"""SetPlanComplete(SBThreadPlan self, bool success)""" 12833 return _lldb.SBThreadPlan_SetPlanComplete(self, success) 12834 12835 def IsPlanComplete(self): 12836 r"""IsPlanComplete(SBThreadPlan self) -> bool""" 12837 return _lldb.SBThreadPlan_IsPlanComplete(self) 12838 12839 def IsPlanStale(self): 12840 r"""IsPlanStale(SBThreadPlan self) -> bool""" 12841 return _lldb.SBThreadPlan_IsPlanStale(self) 12842 12843 def IsValid(self, *args): 12844 r""" 12845 IsValid(SBThreadPlan self) -> bool 12846 IsValid(SBThreadPlan self) -> bool 12847 """ 12848 return _lldb.SBThreadPlan_IsValid(self, *args) 12849 12850 def GetStopOthers(self): 12851 r""" 12852 GetStopOthers(SBThreadPlan self) -> bool 12853 Return whether this plan will ask to stop other threads when it runs. 12854 """ 12855 return _lldb.SBThreadPlan_GetStopOthers(self) 12856 12857 def SetStopOthers(self, stop_others): 12858 r""" 12859 SetStopOthers(SBThreadPlan self, bool stop_others) 12860 Set whether this plan will ask to stop other threads when it runs. 12861 """ 12862 return _lldb.SBThreadPlan_SetStopOthers(self, stop_others) 12863 12864 def QueueThreadPlanForStepOverRange(self, *args): 12865 r""" 12866 QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan 12867 QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan 12868 """ 12869 return _lldb.SBThreadPlan_QueueThreadPlanForStepOverRange(self, *args) 12870 12871 def QueueThreadPlanForStepInRange(self, *args): 12872 r""" 12873 QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan 12874 QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan 12875 """ 12876 return _lldb.SBThreadPlan_QueueThreadPlanForStepInRange(self, *args) 12877 12878 def QueueThreadPlanForStepOut(self, *args): 12879 r""" 12880 QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn=False) -> SBThreadPlan 12881 QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn, SBError error) -> SBThreadPlan 12882 """ 12883 return _lldb.SBThreadPlan_QueueThreadPlanForStepOut(self, *args) 12884 12885 def QueueThreadPlanForRunToAddress(self, *args): 12886 r""" 12887 QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address) -> SBThreadPlan 12888 QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address, SBError error) -> SBThreadPlan 12889 """ 12890 return _lldb.SBThreadPlan_QueueThreadPlanForRunToAddress(self, *args) 12891 12892 def QueueThreadPlanForStepScripted(self, *args): 12893 r""" 12894 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name) -> SBThreadPlan 12895 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBError error) -> SBThreadPlan 12896 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBStructuredData args_data, SBError error) -> SBThreadPlan 12897 """ 12898 return _lldb.SBThreadPlan_QueueThreadPlanForStepScripted(self, *args) 12899 12900# Register SBThreadPlan in _lldb: 12901_lldb.SBThreadPlan_swigregister(SBThreadPlan) 12902class SBTrace(object): 12903 r"""Represents a processor trace.""" 12904 12905 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12906 __repr__ = _swig_repr 12907 12908 def __init__(self): 12909 r"""__init__(SBTrace self) -> SBTrace""" 12910 _lldb.SBTrace_swiginit(self, _lldb.new_SBTrace()) 12911 12912 @staticmethod 12913 def LoadTraceFromFile(error, debugger, trace_description_file): 12914 r"""LoadTraceFromFile(SBError error, SBDebugger debugger, SBFileSpec trace_description_file) -> SBTrace""" 12915 return _lldb.SBTrace_LoadTraceFromFile(error, debugger, trace_description_file) 12916 12917 def CreateNewCursor(self, error, thread): 12918 r"""CreateNewCursor(SBTrace self, SBError error, SBThread thread) -> SBTraceCursor""" 12919 return _lldb.SBTrace_CreateNewCursor(self, error, thread) 12920 12921 def SaveToDisk(self, error, bundle_dir, compact=False): 12922 r"""SaveToDisk(SBTrace self, SBError error, SBFileSpec bundle_dir, bool compact=False) -> SBFileSpec""" 12923 return _lldb.SBTrace_SaveToDisk(self, error, bundle_dir, compact) 12924 12925 def GetStartConfigurationHelp(self): 12926 r"""GetStartConfigurationHelp(SBTrace self) -> char const *""" 12927 return _lldb.SBTrace_GetStartConfigurationHelp(self) 12928 12929 def Start(self, *args): 12930 r""" 12931 Start(SBTrace self, SBStructuredData configuration) -> SBError 12932 Start(SBTrace self, SBThread thread, SBStructuredData configuration) -> SBError 12933 """ 12934 return _lldb.SBTrace_Start(self, *args) 12935 12936 def Stop(self, *args): 12937 r""" 12938 Stop(SBTrace self) -> SBError 12939 Stop(SBTrace self, SBThread thread) -> SBError 12940 """ 12941 return _lldb.SBTrace_Stop(self, *args) 12942 12943 def __nonzero__(self): 12944 return _lldb.SBTrace___nonzero__(self) 12945 __bool__ = __nonzero__ 12946 12947 12948 12949 def IsValid(self): 12950 r"""IsValid(SBTrace self) -> bool""" 12951 return _lldb.SBTrace_IsValid(self) 12952 __swig_destroy__ = _lldb.delete_SBTrace 12953 12954# Register SBTrace in _lldb: 12955_lldb.SBTrace_swigregister(SBTrace) 12956class SBTraceCursor(object): 12957 r"""Represents a trace cursor.""" 12958 12959 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12960 __repr__ = _swig_repr 12961 12962 def __init__(self): 12963 r"""__init__(SBTraceCursor self) -> SBTraceCursor""" 12964 _lldb.SBTraceCursor_swiginit(self, _lldb.new_SBTraceCursor()) 12965 12966 def SetForwards(self, forwards): 12967 r"""SetForwards(SBTraceCursor self, bool forwards)""" 12968 return _lldb.SBTraceCursor_SetForwards(self, forwards) 12969 12970 def IsForwards(self): 12971 r"""IsForwards(SBTraceCursor self) -> bool""" 12972 return _lldb.SBTraceCursor_IsForwards(self) 12973 12974 def Next(self): 12975 r"""Next(SBTraceCursor self)""" 12976 return _lldb.SBTraceCursor_Next(self) 12977 12978 def HasValue(self): 12979 r"""HasValue(SBTraceCursor self) -> bool""" 12980 return _lldb.SBTraceCursor_HasValue(self) 12981 12982 def GoToId(self, id): 12983 r"""GoToId(SBTraceCursor self, lldb::user_id_t id) -> bool""" 12984 return _lldb.SBTraceCursor_GoToId(self, id) 12985 12986 def HasId(self, id): 12987 r"""HasId(SBTraceCursor self, lldb::user_id_t id) -> bool""" 12988 return _lldb.SBTraceCursor_HasId(self, id) 12989 12990 def GetId(self): 12991 r"""GetId(SBTraceCursor self) -> lldb::user_id_t""" 12992 return _lldb.SBTraceCursor_GetId(self) 12993 12994 def Seek(self, offset, origin): 12995 r"""Seek(SBTraceCursor self, int64_t offset, lldb::TraceCursorSeekType origin) -> bool""" 12996 return _lldb.SBTraceCursor_Seek(self, offset, origin) 12997 12998 def GetItemKind(self): 12999 r"""GetItemKind(SBTraceCursor self) -> lldb::TraceItemKind""" 13000 return _lldb.SBTraceCursor_GetItemKind(self) 13001 13002 def IsError(self): 13003 r"""IsError(SBTraceCursor self) -> bool""" 13004 return _lldb.SBTraceCursor_IsError(self) 13005 13006 def GetError(self): 13007 r"""GetError(SBTraceCursor self) -> char const *""" 13008 return _lldb.SBTraceCursor_GetError(self) 13009 13010 def IsEvent(self): 13011 r"""IsEvent(SBTraceCursor self) -> bool""" 13012 return _lldb.SBTraceCursor_IsEvent(self) 13013 13014 def GetEventType(self): 13015 r"""GetEventType(SBTraceCursor self) -> lldb::TraceEvent""" 13016 return _lldb.SBTraceCursor_GetEventType(self) 13017 13018 def GetEventTypeAsString(self): 13019 r"""GetEventTypeAsString(SBTraceCursor self) -> char const *""" 13020 return _lldb.SBTraceCursor_GetEventTypeAsString(self) 13021 13022 def IsInstruction(self): 13023 r"""IsInstruction(SBTraceCursor self) -> bool""" 13024 return _lldb.SBTraceCursor_IsInstruction(self) 13025 13026 def GetLoadAddress(self): 13027 r"""GetLoadAddress(SBTraceCursor self) -> lldb::addr_t""" 13028 return _lldb.SBTraceCursor_GetLoadAddress(self) 13029 13030 def GetCPU(self): 13031 r"""GetCPU(SBTraceCursor self) -> lldb::cpu_id_t""" 13032 return _lldb.SBTraceCursor_GetCPU(self) 13033 13034 def IsValid(self): 13035 r"""IsValid(SBTraceCursor self) -> bool""" 13036 return _lldb.SBTraceCursor_IsValid(self) 13037 13038 def __nonzero__(self): 13039 return _lldb.SBTraceCursor___nonzero__(self) 13040 __bool__ = __nonzero__ 13041 13042 13043 __swig_destroy__ = _lldb.delete_SBTraceCursor 13044 13045# Register SBTraceCursor in _lldb: 13046_lldb.SBTraceCursor_swigregister(SBTraceCursor) 13047class SBTypeMember(object): 13048 r"""Represents a member of a type.""" 13049 13050 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13051 13052 def __init__(self, *args): 13053 r""" 13054 __init__(SBTypeMember self) -> SBTypeMember 13055 __init__(SBTypeMember self, SBTypeMember rhs) -> SBTypeMember 13056 """ 13057 _lldb.SBTypeMember_swiginit(self, _lldb.new_SBTypeMember(*args)) 13058 __swig_destroy__ = _lldb.delete_SBTypeMember 13059 13060 def __nonzero__(self): 13061 return _lldb.SBTypeMember___nonzero__(self) 13062 __bool__ = __nonzero__ 13063 13064 13065 13066 def IsValid(self): 13067 r"""IsValid(SBTypeMember self) -> bool""" 13068 return _lldb.SBTypeMember_IsValid(self) 13069 13070 def GetName(self): 13071 r"""GetName(SBTypeMember self) -> char const *""" 13072 return _lldb.SBTypeMember_GetName(self) 13073 13074 def GetType(self): 13075 r"""GetType(SBTypeMember self) -> SBType""" 13076 return _lldb.SBTypeMember_GetType(self) 13077 13078 def GetOffsetInBytes(self): 13079 r"""GetOffsetInBytes(SBTypeMember self) -> uint64_t""" 13080 return _lldb.SBTypeMember_GetOffsetInBytes(self) 13081 13082 def GetOffsetInBits(self): 13083 r"""GetOffsetInBits(SBTypeMember self) -> uint64_t""" 13084 return _lldb.SBTypeMember_GetOffsetInBits(self) 13085 13086 def IsBitfield(self): 13087 r"""IsBitfield(SBTypeMember self) -> bool""" 13088 return _lldb.SBTypeMember_IsBitfield(self) 13089 13090 def GetBitfieldSizeInBits(self): 13091 r"""GetBitfieldSizeInBits(SBTypeMember self) -> uint32_t""" 13092 return _lldb.SBTypeMember_GetBitfieldSizeInBits(self) 13093 13094 def GetDescription(self, description, description_level): 13095 r"""GetDescription(SBTypeMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 13096 return _lldb.SBTypeMember_GetDescription(self, description, description_level) 13097 13098 def __repr__(self): 13099 r"""__repr__(SBTypeMember self) -> std::string""" 13100 return _lldb.SBTypeMember___repr__(self) 13101 13102 # operator== is a free function, which swig does not handle, so we inject 13103 # our own equality operator here 13104 def __eq__(self, other): 13105 return not self.__ne__(other) 13106 13107 name = property(GetName, None, doc='''A read only property that returns the name for this member as a string.''') 13108 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this member.''') 13109 byte_offset = property(GetOffsetInBytes, None, doc='''A read only property that returns offset in bytes for this member as an integer.''') 13110 bit_offset = property(GetOffsetInBits, None, doc='''A read only property that returns offset in bits for this member as an integer.''') 13111 is_bitfield = property(IsBitfield, None, doc='''A read only property that returns true if this member is a bitfield.''') 13112 bitfield_bit_size = property(GetBitfieldSizeInBits, None, doc='''A read only property that returns the bitfield size in bits for this member as an integer, or zero if this member is not a bitfield.''') 13113 13114 13115# Register SBTypeMember in _lldb: 13116_lldb.SBTypeMember_swigregister(SBTypeMember) 13117class SBTypeMemberFunction(object): 13118 r"""Represents a member function of a type.""" 13119 13120 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13121 13122 def __init__(self, *args): 13123 r""" 13124 __init__(SBTypeMemberFunction self) -> SBTypeMemberFunction 13125 __init__(SBTypeMemberFunction self, SBTypeMemberFunction rhs) -> SBTypeMemberFunction 13126 """ 13127 _lldb.SBTypeMemberFunction_swiginit(self, _lldb.new_SBTypeMemberFunction(*args)) 13128 __swig_destroy__ = _lldb.delete_SBTypeMemberFunction 13129 13130 def __nonzero__(self): 13131 return _lldb.SBTypeMemberFunction___nonzero__(self) 13132 __bool__ = __nonzero__ 13133 13134 13135 13136 def IsValid(self): 13137 r"""IsValid(SBTypeMemberFunction self) -> bool""" 13138 return _lldb.SBTypeMemberFunction_IsValid(self) 13139 13140 def GetName(self): 13141 r"""GetName(SBTypeMemberFunction self) -> char const *""" 13142 return _lldb.SBTypeMemberFunction_GetName(self) 13143 13144 def GetDemangledName(self): 13145 r"""GetDemangledName(SBTypeMemberFunction self) -> char const *""" 13146 return _lldb.SBTypeMemberFunction_GetDemangledName(self) 13147 13148 def GetMangledName(self): 13149 r"""GetMangledName(SBTypeMemberFunction self) -> char const *""" 13150 return _lldb.SBTypeMemberFunction_GetMangledName(self) 13151 13152 def GetType(self): 13153 r"""GetType(SBTypeMemberFunction self) -> SBType""" 13154 return _lldb.SBTypeMemberFunction_GetType(self) 13155 13156 def GetReturnType(self): 13157 r"""GetReturnType(SBTypeMemberFunction self) -> SBType""" 13158 return _lldb.SBTypeMemberFunction_GetReturnType(self) 13159 13160 def GetNumberOfArguments(self): 13161 r"""GetNumberOfArguments(SBTypeMemberFunction self) -> uint32_t""" 13162 return _lldb.SBTypeMemberFunction_GetNumberOfArguments(self) 13163 13164 def GetArgumentTypeAtIndex(self, arg2): 13165 r"""GetArgumentTypeAtIndex(SBTypeMemberFunction self, uint32_t arg2) -> SBType""" 13166 return _lldb.SBTypeMemberFunction_GetArgumentTypeAtIndex(self, arg2) 13167 13168 def GetKind(self): 13169 r"""GetKind(SBTypeMemberFunction self) -> lldb::MemberFunctionKind""" 13170 return _lldb.SBTypeMemberFunction_GetKind(self) 13171 13172 def GetDescription(self, description, description_level): 13173 r"""GetDescription(SBTypeMemberFunction self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 13174 return _lldb.SBTypeMemberFunction_GetDescription(self, description, description_level) 13175 13176 def __repr__(self): 13177 r"""__repr__(SBTypeMemberFunction self) -> std::string""" 13178 return _lldb.SBTypeMemberFunction___repr__(self) 13179 13180 # operator== is a free function, which swig does not handle, so we inject 13181 # our own equality operator here 13182 def __eq__(self, other): 13183 return not self.__ne__(other) 13184 13185 13186 13187# Register SBTypeMemberFunction in _lldb: 13188_lldb.SBTypeMemberFunction_swigregister(SBTypeMemberFunction) 13189class SBTypeStaticField(object): 13190 r"""Proxy of C++ lldb::SBTypeStaticField class.""" 13191 13192 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13193 __repr__ = _swig_repr 13194 13195 def __init__(self, *args): 13196 r""" 13197 __init__(SBTypeStaticField self) -> SBTypeStaticField 13198 __init__(SBTypeStaticField self, SBTypeStaticField rhs) -> SBTypeStaticField 13199 """ 13200 _lldb.SBTypeStaticField_swiginit(self, _lldb.new_SBTypeStaticField(*args)) 13201 __swig_destroy__ = _lldb.delete_SBTypeStaticField 13202 13203 def __nonzero__(self): 13204 return _lldb.SBTypeStaticField___nonzero__(self) 13205 __bool__ = __nonzero__ 13206 13207 13208 13209 def IsValid(self): 13210 r"""IsValid(SBTypeStaticField self) -> bool""" 13211 return _lldb.SBTypeStaticField_IsValid(self) 13212 13213 def GetName(self): 13214 r"""GetName(SBTypeStaticField self) -> char const *""" 13215 return _lldb.SBTypeStaticField_GetName(self) 13216 13217 def GetMangledName(self): 13218 r"""GetMangledName(SBTypeStaticField self) -> char const *""" 13219 return _lldb.SBTypeStaticField_GetMangledName(self) 13220 13221 def GetType(self): 13222 r"""GetType(SBTypeStaticField self) -> SBType""" 13223 return _lldb.SBTypeStaticField_GetType(self) 13224 13225 def GetConstantValue(self, target): 13226 r"""GetConstantValue(SBTypeStaticField self, SBTarget target) -> SBValue""" 13227 return _lldb.SBTypeStaticField_GetConstantValue(self, target) 13228 13229# Register SBTypeStaticField in _lldb: 13230_lldb.SBTypeStaticField_swigregister(SBTypeStaticField) 13231class SBType(object): 13232 r""" 13233 Represents a data type in lldb. 13234 13235 The actual characteristics of each type are defined by the semantics of the 13236 programming language and the specific language implementation that was used 13237 to compile the target program. See the language-specific notes in the 13238 documentation of each method. 13239 13240 SBType instances can be obtained by a variety of methods. 13241 `SBTarget.FindFirstType` and `SBModule.FindFirstType` can be used to create 13242 `SBType` representations of types in executables/libraries with debug 13243 information. For some languages such as C, C++ and Objective-C it is possible 13244 to create new types by evaluating expressions that define a new type. 13245 13246 Note that most `SBType` properties are computed independently of any runtime 13247 information so for dynamic languages the functionality can be very limited. 13248 `SBValue` can be used to represent runtime values which then can be more 13249 accurately queried for certain information such as byte size. 13250 13251 13252 SBType supports the eq/ne operator. For example,:: 13253 13254 //main.cpp: 13255 13256 class Task { 13257 public: 13258 int id; 13259 Task *next; 13260 Task(int i, Task *n): 13261 id(i), 13262 next(n) 13263 {} 13264 }; 13265 13266 int main (int argc, char const *argv[]) 13267 { 13268 Task *task_head = new Task(-1, NULL); 13269 Task *task1 = new Task(1, NULL); 13270 Task *task2 = new Task(2, NULL); 13271 Task *task3 = new Task(3, NULL); // Orphaned. 13272 Task *task4 = new Task(4, NULL); 13273 Task *task5 = new Task(5, NULL); 13274 13275 task_head->next = task1; 13276 task1->next = task2; 13277 task2->next = task4; 13278 task4->next = task5; 13279 13280 int total = 0; 13281 Task *t = task_head; 13282 while (t != NULL) { 13283 if (t->id >= 0) 13284 ++total; 13285 t = t->next; 13286 } 13287 printf('We have a total number of %d tasks\n', total); 13288 13289 // This corresponds to an empty task list. 13290 Task *empty_task_head = new Task(-1, NULL); 13291 13292 return 0; // Break at this line 13293 } 13294 13295 # find_type.py: 13296 13297 # Get the type 'Task'. 13298 task_type = target.FindFirstType('Task') 13299 self.assertTrue(task_type) 13300 13301 # Get the variable 'task_head'. 13302 frame0.FindVariable('task_head') 13303 task_head_type = task_head.GetType() 13304 self.assertTrue(task_head_type.IsPointerType()) 13305 13306 # task_head_type is 'Task *'. 13307 task_pointer_type = task_type.GetPointerType() 13308 self.assertTrue(task_head_type == task_pointer_type) 13309 13310 # Get the child mmember 'id' from 'task_head'. 13311 id = task_head.GetChildMemberWithName('id') 13312 id_type = id.GetType() 13313 13314 # SBType.GetBasicType() takes an enum 'BasicType' (lldb-enumerations.h). 13315 int_type = id_type.GetBasicType(lldb.eBasicTypeInt) 13316 # id_type and int_type should be the same type! 13317 self.assertTrue(id_type == int_type) 13318 13319 13320 """ 13321 13322 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13323 13324 def __init__(self, *args): 13325 r""" 13326 __init__(SBType self) -> SBType 13327 __init__(SBType self, SBType rhs) -> SBType 13328 """ 13329 _lldb.SBType_swiginit(self, _lldb.new_SBType(*args)) 13330 __swig_destroy__ = _lldb.delete_SBType 13331 13332 def __nonzero__(self): 13333 return _lldb.SBType___nonzero__(self) 13334 __bool__ = __nonzero__ 13335 13336 13337 13338 def IsValid(self): 13339 r"""IsValid(SBType self) -> bool""" 13340 return _lldb.SBType_IsValid(self) 13341 13342 def GetByteSize(self): 13343 r""" 13344 GetByteSize(SBType self) -> uint64_t 13345 Returns the number of bytes a variable with the given types occupies in memory. 13346 13347 Returns ``0`` if the size can't be determined. 13348 13349 If a type occupies ``N`` bytes + ``M`` bits in memory, this function returns 13350 the rounded up amount of bytes (i.e., if ``M`` is ``0``, 13351 this function returns ``N`` and otherwise ``N + 1``). 13352 13353 Language-specific behaviour: 13354 13355 * C: The output is expected to match the value of ``sizeof(Type)``. If 13356 ``sizeof(Type)`` is not a valid expression for the given type, the 13357 function returns ``0``. 13358 * C++: Same as in C. 13359 * Objective-C: Same as in C. For Objective-C classes this always returns 13360 ``0`` as the actual size depends on runtime information. 13361 13362 """ 13363 return _lldb.SBType_GetByteSize(self) 13364 13365 def GetByteAlign(self): 13366 r"""GetByteAlign(SBType self) -> uint64_t""" 13367 return _lldb.SBType_GetByteAlign(self) 13368 13369 def IsPointerType(self): 13370 r""" 13371 IsPointerType(SBType self) -> bool 13372 Returns true if this type is a pointer type. 13373 13374 Language-specific behaviour: 13375 13376 * C: Returns true for C pointer types (or typedefs of these types). 13377 * C++: Pointer types include the C pointer types as well as pointers to data 13378 mebers or member functions. 13379 * Objective-C: Pointer types include the C pointer types. ``id``, ``Class`` 13380 and pointers to blocks are also considered pointer types. 13381 13382 """ 13383 return _lldb.SBType_IsPointerType(self) 13384 13385 def IsReferenceType(self): 13386 r""" 13387 IsReferenceType(SBType self) -> bool 13388 Returns true if this type is a reference type. 13389 13390 Language-specific behaviour: 13391 13392 * C: Returns false for all types. 13393 * C++: Both l-value and r-value references are considered reference types. 13394 * Objective-C: Returns false for all types. 13395 13396 """ 13397 return _lldb.SBType_IsReferenceType(self) 13398 13399 def IsFunctionType(self): 13400 r"""IsFunctionType(SBType self) -> bool""" 13401 return _lldb.SBType_IsFunctionType(self) 13402 13403 def IsPolymorphicClass(self): 13404 r""" 13405 IsPolymorphicClass(SBType self) -> bool 13406 Returns true if this type is a polymorphic type. 13407 13408 Language-specific behaviour: 13409 13410 * C: Returns false for all types. 13411 * C++: Returns true if the type is a class type that contains at least one 13412 virtual member function or if at least one of its base classes is 13413 considered a polymorphic type. 13414 * Objective-C: Returns false for all types. 13415 13416 """ 13417 return _lldb.SBType_IsPolymorphicClass(self) 13418 13419 def IsArrayType(self): 13420 r""" 13421 IsArrayType(SBType self) -> bool 13422 Returns true if this type is an array type. 13423 13424 Language-specific behaviour: 13425 13426 * C: Returns true if the types is an array type. This includes incomplete 13427 array types ``T[]`` and array types with integer (``T[1]``) or variable 13428 length (``T[some_variable]``). Pointer types are not considered arrays. 13429 * C++: Includes C's array types and dependent array types (i.e., array types 13430 in templates which size depends on template arguments). 13431 * Objective-C: Same as in C. 13432 13433 """ 13434 return _lldb.SBType_IsArrayType(self) 13435 13436 def IsVectorType(self): 13437 r""" 13438 IsVectorType(SBType self) -> bool 13439 Returns true if this type is a vector type. 13440 13441 Language-specific behaviour: 13442 13443 * C: Returns true if the types is a vector type created with 13444 GCC's ``vector_size`` or Clang's ``ext_vector_type`` feature. 13445 * C++: Same as in C. 13446 * Objective-C: Same as in C. 13447 13448 """ 13449 return _lldb.SBType_IsVectorType(self) 13450 13451 def IsTypedefType(self): 13452 r""" 13453 IsTypedefType(SBType self) -> bool 13454 Returns true if this type is a typedef. 13455 13456 Language-specific behaviour: 13457 13458 * C: Returns true if the type is a C typedef. 13459 * C++: Same as in C. Also treats type aliases as typedefs. 13460 * Objective-C: Same as in C. 13461 13462 """ 13463 return _lldb.SBType_IsTypedefType(self) 13464 13465 def IsAnonymousType(self): 13466 r""" 13467 IsAnonymousType(SBType self) -> bool 13468 Returns true if this type is an anonymous type. 13469 13470 Language-specific behaviour: 13471 13472 * C: Returns true for anonymous unions. Also returns true for 13473 anonymous structs (which are a GNU language extension). 13474 * C++: Same as in C. 13475 * Objective-C: Same as in C. 13476 13477 """ 13478 return _lldb.SBType_IsAnonymousType(self) 13479 13480 def IsScopedEnumerationType(self): 13481 r""" 13482 IsScopedEnumerationType(SBType self) -> bool 13483 Returns true if this type is a scoped enum. 13484 13485 Language-specific behaviour: 13486 13487 * C: Returns false for all types. 13488 * C++: Return true only for C++11 scoped enums. 13489 * Objective-C: Returns false for all types. 13490 13491 """ 13492 return _lldb.SBType_IsScopedEnumerationType(self) 13493 13494 def IsAggregateType(self): 13495 r""" 13496 IsAggregateType(SBType self) -> bool 13497 Returns true if this type is an aggregate type. 13498 13499 Language-specific behaviour: 13500 13501 * C: Returns true for struct values, arrays, and vectors. 13502 * C++: Same a C. Also includes class instances. 13503 * Objective-C: Same as C. Also includes class instances. 13504 13505 """ 13506 return _lldb.SBType_IsAggregateType(self) 13507 13508 def GetPointerType(self): 13509 r""" 13510 GetPointerType(SBType self) -> SBType 13511 Returns a type that represents a pointer to this type. 13512 13513 If the type system of the current language can't represent a pointer to this 13514 type or this type is invalid, an invalid `SBType` is returned. 13515 13516 Language-specific behaviour: 13517 13518 * C: Returns the pointer type of this type. 13519 * C++: Same as in C. 13520 * Objective-C: Same as in C. 13521 13522 """ 13523 return _lldb.SBType_GetPointerType(self) 13524 13525 def GetPointeeType(self): 13526 r""" 13527 GetPointeeType(SBType self) -> SBType 13528 Returns the underlying pointee type. 13529 13530 If this type is a pointer type as specified by `IsPointerType` then this 13531 returns the underlying type. If this is not a pointer type or an invalid 13532 `SBType` then this returns an invalid `SBType`. 13533 13534 Language-specific behaviour: 13535 13536 * C: Returns the underlying type for for C pointer types or typedefs of 13537 these types). For example, ``int *`` will return ``int``. 13538 * C++: Same as in C. Returns an `SBType` representation for data members/ 13539 member functions in case the `SBType` is a pointer to data member or 13540 pointer to member function. 13541 * Objective-C: Same as in C. The pointee type of ``id`` and ``Class`` is 13542 an invalid `SBType`. The pointee type of pointers Objective-C types is an 13543 `SBType` for the non-pointer type of the respective type. For example, 13544 ``NSString *`` will return ``NSString`` as a pointee type. 13545 13546 """ 13547 return _lldb.SBType_GetPointeeType(self) 13548 13549 def GetReferenceType(self): 13550 r""" 13551 GetReferenceType(SBType self) -> SBType 13552 Returns a type that represents a reference to this type. 13553 13554 If the type system of the current language can't represent a reference to 13555 this type, an invalid `SBType` is returned. 13556 13557 Language-specific behaviour: 13558 13559 * C: Currently assumes the type system is C++ and returns an l-value 13560 reference type. For example, ``int`` will return ``int&``. This behavior 13561 is likely to change in the future and shouldn't be relied on. 13562 * C++: Same as in C. 13563 * Objective-C: Same as in C. 13564 13565 """ 13566 return _lldb.SBType_GetReferenceType(self) 13567 13568 def GetTypedefedType(self): 13569 r""" 13570 GetTypedefedType(SBType self) -> SBType 13571 Returns the underlying type of a typedef. 13572 13573 If this type is a typedef as designated by `IsTypedefType`, then the 13574 underlying type is being returned. Otherwise an invalid `SBType` is 13575 returned. 13576 13577 Language-specific behaviour: 13578 13579 * C: Returns the underlying type of a typedef type. 13580 * C++: Same as in C. For type aliases, the underlying type is returned. 13581 * Objective-C: Same as in C. 13582 13583 """ 13584 return _lldb.SBType_GetTypedefedType(self) 13585 13586 def GetDereferencedType(self): 13587 r""" 13588 GetDereferencedType(SBType self) -> SBType 13589 Returns the underlying type of a reference type. 13590 13591 If this type is a reference as designated by `IsReferenceType`, then the 13592 underlying type is being returned. Otherwise an invalid `SBType` is 13593 returned. 13594 13595 Language-specific behaviour: 13596 13597 * C: Always returns an invalid type. 13598 * C++: For l-value and r-value references the underlying type is returned. 13599 For example, ``int &`` will return ``int``. 13600 * Objective-C: Same as in C. 13601 13602 """ 13603 return _lldb.SBType_GetDereferencedType(self) 13604 13605 def GetUnqualifiedType(self): 13606 r""" 13607 GetUnqualifiedType(SBType self) -> SBType 13608 Returns the unqualified version of this type. 13609 13610 Language-specific behaviour: 13611 13612 * C: If this type with any const or volatile specifier removed. 13613 * C++: Same as in C. 13614 * Objective-C: Same as in C. 13615 13616 """ 13617 return _lldb.SBType_GetUnqualifiedType(self) 13618 13619 def GetArrayElementType(self): 13620 r""" 13621 GetArrayElementType(SBType self) -> SBType 13622 Returns the array element type if this type is an array type. 13623 13624 Otherwise returns an invalid `SBType` if this type is invalid or not an 13625 array type. 13626 13627 Language-specific behaviour: 13628 13629 * C: If this is an array type (see `IsArrayType`) such as ``T[]``, returns 13630 the element type. 13631 * C++: Same as in C. 13632 * Objective-C: Same as in C. 13633 13634 See also `IsArrayType`. 13635 13636 """ 13637 return _lldb.SBType_GetArrayElementType(self) 13638 13639 def GetArrayType(self, size): 13640 r""" 13641 GetArrayType(SBType self, uint64_t size) -> SBType 13642 Returns the array type with the given constant size. 13643 13644 Language-specific behaviour: 13645 13646 * C: Returns a constant-size array ``T[size]`` for any non-void type. 13647 * C++: Same as in C. 13648 * Objective-C: Same as in C. 13649 13650 See also `IsArrayType` and `GetArrayElementType`. 13651 13652 """ 13653 return _lldb.SBType_GetArrayType(self, size) 13654 13655 def GetVectorElementType(self): 13656 r""" 13657 GetVectorElementType(SBType self) -> SBType 13658 Returns the vector element type if this type is a vector type. 13659 13660 Otherwise returns an invalid `SBType` if this type is invalid or not a 13661 vector type. 13662 13663 Language-specific behaviour: 13664 13665 * C: If this is a vector type (see `IsVectorType`), returns the element 13666 type. 13667 * C++: Same as in C. 13668 * Objective-C: Same as in C. 13669 13670 See also `IsVectorType`. 13671 13672 """ 13673 return _lldb.SBType_GetVectorElementType(self) 13674 13675 def GetCanonicalType(self): 13676 r"""GetCanonicalType(SBType self) -> SBType""" 13677 return _lldb.SBType_GetCanonicalType(self) 13678 13679 def GetEnumerationIntegerType(self): 13680 r""" 13681 GetEnumerationIntegerType(SBType self) -> SBType 13682 Returns the underlying integer type if this is an enumeration type. 13683 13684 If this type is an invalid `SBType` or not an enumeration type an invalid 13685 `SBType` is returned. 13686 13687 Language-specific behaviour: 13688 13689 * C: Returns the underlying type for enums. 13690 * C++: Same as in C but also returns the underlying type for scoped enums. 13691 * Objective-C: Same as in C. 13692 13693 """ 13694 return _lldb.SBType_GetEnumerationIntegerType(self) 13695 13696 def GetBasicType(self, *args): 13697 r""" 13698 GetBasicType(SBType self) -> lldb::BasicType 13699 GetBasicType(SBType self, lldb::BasicType type) -> SBType 13700 Returns the `BasicType` value that is most appropriate to this type. 13701 13702 Returns `eBasicTypeInvalid` if no appropriate `BasicType` was found or this 13703 type is invalid. See the `BasicType` documentation for the language-specific 13704 meaning of each `BasicType` value. 13705 13706 **Overload behaviour:** When called with a `BasicType` parameter, the 13707 following behaviour applies: 13708 13709 Returns the `SBType` that represents the passed `BasicType` value. Returns 13710 an invalid `SBType` if no fitting `SBType` could be created. 13711 13712 Language-specific behaviour: 13713 13714 * C: Returns the respective builtin type. Note that some types 13715 (e.g. ``__uint128_t``) might even be successfully created even if they are 13716 not available on the target platform. C++ and Objective-C specific types 13717 might also be created even if the target program is not written in C++ or 13718 Objective-C. 13719 * C++: Same as in C. 13720 * Objective-C: Same as in C. 13721 13722 """ 13723 return _lldb.SBType_GetBasicType(self, *args) 13724 13725 def GetNumberOfFields(self): 13726 r""" 13727 GetNumberOfFields(SBType self) -> uint32_t 13728 Returns the number of fields of this type. 13729 13730 Returns ``0`` if this type does not have fields. 13731 13732 Language-specific behaviour: 13733 13734 * C: Returns the number of fields if the type is a struct. If the type 13735 contains an anonymous struct/union it only counts as a single field (even 13736 if the struct/union contains several fields). 13737 * C++: Returns the number of non-static fields if the type is a 13738 struct/class. If the type contains an anonymous struct/union it only 13739 counts as a single field (even if the struct/union contains several 13740 fields). The fields of any base classes are not included in the count. 13741 * Objective-C: Same as in C for structs. For Objective-C classes the number 13742 of ivars is returned. 13743 13744 See also `GetFieldAtIndex`. 13745 13746 """ 13747 return _lldb.SBType_GetNumberOfFields(self) 13748 13749 def GetNumberOfDirectBaseClasses(self): 13750 r""" 13751 GetNumberOfDirectBaseClasses(SBType self) -> uint32_t 13752 Returns the number of base/parent classes of this type. 13753 13754 Returns ``0`` if this type doesn't have any base classes. 13755 13756 Language-specific behaviour: 13757 13758 * C: Returns always ``0``. 13759 * C++: The number of direct non-virtual base classes if this type is 13760 a class. 13761 * Objective-C: The number of super classes for Objective-C classes. 13762 As Objective-C doesn't have multiple inheritance this is usually returns 1 13763 except for NSObject. 13764 13765 """ 13766 return _lldb.SBType_GetNumberOfDirectBaseClasses(self) 13767 13768 def GetNumberOfVirtualBaseClasses(self): 13769 r""" 13770 GetNumberOfVirtualBaseClasses(SBType self) -> uint32_t 13771 Returns the number of virtual base/parent classes of this type 13772 13773 Returns ``0`` if this type doesn't have any base classes. 13774 13775 Language-specific behaviour: 13776 13777 * C: Returns always ``0``. 13778 * C++: The number of direct virtual base classes if this type is a 13779 class. 13780 * Objective-C: Returns always ``0``. 13781 13782 """ 13783 return _lldb.SBType_GetNumberOfVirtualBaseClasses(self) 13784 13785 def GetFieldAtIndex(self, idx): 13786 r""" 13787 GetFieldAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13788 Returns the field at the given index. 13789 13790 Returns an invalid `SBType` if the index is out of range or the current 13791 type doesn't have any fields. 13792 13793 Language-specific behaviour: 13794 13795 * C: Returns the field with the given index for struct types. Fields are 13796 ordered/indexed starting from ``0`` for the first field in a struct (as 13797 declared in the definition). 13798 * C++: Returns the non-static field with the given index for struct types. 13799 Fields are ordered/indexed starting from ``0`` for the first field in a 13800 struct (as declared in the definition). 13801 * Objective-C: Same as in C for structs. For Objective-C classes the ivar 13802 with the given index is returned. ivars are indexed starting from ``0``. 13803 13804 """ 13805 return _lldb.SBType_GetFieldAtIndex(self, idx) 13806 13807 def GetDirectBaseClassAtIndex(self, idx): 13808 r""" 13809 GetDirectBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13810 Returns the direct base class as indexed by `GetNumberOfDirectBaseClasses`. 13811 13812 Returns an invalid SBTypeMember if the index is invalid or this SBType is 13813 invalid. 13814 13815 """ 13816 return _lldb.SBType_GetDirectBaseClassAtIndex(self, idx) 13817 13818 def GetVirtualBaseClassAtIndex(self, idx): 13819 r""" 13820 GetVirtualBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13821 Returns the virtual base class as indexed by 13822 `GetNumberOfVirtualBaseClasses`. 13823 13824 Returns an invalid SBTypeMember if the index is invalid or this SBType is 13825 invalid. 13826 13827 """ 13828 return _lldb.SBType_GetVirtualBaseClassAtIndex(self, idx) 13829 13830 def GetStaticFieldWithName(self, name): 13831 r"""GetStaticFieldWithName(SBType self, char const * name) -> SBTypeStaticField""" 13832 return _lldb.SBType_GetStaticFieldWithName(self, name) 13833 13834 def GetEnumMembers(self): 13835 r"""GetEnumMembers(SBType self) -> SBTypeEnumMemberList""" 13836 return _lldb.SBType_GetEnumMembers(self) 13837 13838 def GetNumberOfTemplateArguments(self): 13839 r""" 13840 GetNumberOfTemplateArguments(SBType self) -> uint32_t 13841 Returns the number of template arguments of this type. 13842 13843 Returns ``0`` if this type is not a template. 13844 13845 Language-specific behaviour: 13846 13847 * C: Always returns ``0``. 13848 * C++: If this type is a class template instantiation then this returns the 13849 number of template parameters that were used in this instantiation. This 13850 includes both explicit and implicit template parameters. 13851 * Objective-C: Always returns ``0``. 13852 13853 """ 13854 return _lldb.SBType_GetNumberOfTemplateArguments(self) 13855 13856 def GetTemplateArgumentType(self, idx): 13857 r""" 13858 GetTemplateArgumentType(SBType self, uint32_t idx) -> SBType 13859 Returns the type of the template argument with the given index. 13860 13861 Returns an invalid `SBType` if there is no template argument with the given 13862 index or this type is not a template. The first template argument has the 13863 index ``0``. 13864 13865 Language-specific behaviour: 13866 13867 * C: Always returns an invalid SBType. 13868 * C++: If this type is a class template instantiation and the template 13869 parameter with the given index is a type template parameter, then this 13870 returns the type of that parameter. Otherwise returns an invalid `SBType`. 13871 * Objective-C: Always returns an invalid SBType. 13872 13873 """ 13874 return _lldb.SBType_GetTemplateArgumentType(self, idx) 13875 13876 def GetTemplateArgumentKind(self, idx): 13877 r""" 13878 GetTemplateArgumentKind(SBType self, uint32_t idx) -> lldb::TemplateArgumentKind 13879 Returns the kind of the template argument with the given index. 13880 13881 Returns `eTemplateArgumentKindNull` if there is no template argument 13882 with the given index or this type is not a template. The first template 13883 argument has the index ``0``. 13884 13885 Language-specific behaviour: 13886 13887 * C: Always returns `eTemplateArgumentKindNull`. 13888 * C++: If this type is a class template instantiation then this returns 13889 the appropriate `TemplateArgument` value for the parameter with the given 13890 index. See the documentation of `TemplateArgument` for how certain C++ 13891 template parameter kinds are mapped to `TemplateArgument` values. 13892 * Objective-C: Always returns `eTemplateArgumentKindNull`. 13893 13894 """ 13895 return _lldb.SBType_GetTemplateArgumentKind(self, idx) 13896 13897 def GetFunctionReturnType(self): 13898 r""" 13899 GetFunctionReturnType(SBType self) -> SBType 13900 Returns the return type if this type represents a function. 13901 13902 Returns an invalid `SBType` if this type is not a function type or invalid. 13903 13904 Language-specific behaviour: 13905 13906 * C: For functions return the return type. Returns an invalid `SBType` if 13907 this type is a function pointer type. 13908 * C++: Same as in C for functions and instantiated template functions. 13909 Member functions are also considered functions. For functions that have 13910 their return type specified by a placeholder type specifier (``auto``) 13911 this returns the deduced return type. 13912 * Objective-C: Same as in C for functions. For Objective-C methods this 13913 returns the return type of the method. 13914 13915 """ 13916 return _lldb.SBType_GetFunctionReturnType(self) 13917 13918 def GetFunctionArgumentTypes(self): 13919 r""" 13920 GetFunctionArgumentTypes(SBType self) -> SBTypeList 13921 Returns the list of argument types if this type represents a function. 13922 13923 Returns an invalid `SBType` if this type is not a function type or invalid. 13924 13925 Language-specific behaviour: 13926 13927 * C: For functions return the types of each parameter. Returns an invalid 13928 `SBType` if this type is a function pointer. For variadic functions this 13929 just returns the list of parameters before the variadic arguments. 13930 * C++: Same as in C for functions and instantiated template functions. 13931 Member functions are also considered functions. 13932 * Objective-C: Always returns an invalid SBType for Objective-C methods. 13933 13934 """ 13935 return _lldb.SBType_GetFunctionArgumentTypes(self) 13936 13937 def GetNumberOfMemberFunctions(self): 13938 r""" 13939 GetNumberOfMemberFunctions(SBType self) -> uint32_t 13940 Returns the number of member functions of this type. 13941 13942 Returns ``0`` if an error occurred or this type is invalid. 13943 13944 Language-specific behaviour: 13945 13946 * C: Always returns ``0``. 13947 * C++: If this type represents a struct/class, then the number of 13948 member functions (static and non-static) is returned. The count includes 13949 constructors and destructors (both explicit and implicit). Member 13950 functions of base classes are not included in the count. 13951 * Objective-C: If this type represents a struct/class, then the 13952 number of methods is returned. Methods in categories or super classes 13953 are not counted. 13954 13955 """ 13956 return _lldb.SBType_GetNumberOfMemberFunctions(self) 13957 13958 def GetMemberFunctionAtIndex(self, idx): 13959 r""" 13960 GetMemberFunctionAtIndex(SBType self, uint32_t idx) -> SBTypeMemberFunction 13961 Returns the member function of this type with the given index. 13962 13963 Returns an invalid `SBTypeMemberFunction` if the index is invalid or this 13964 type is invalid. 13965 13966 Language-specific behaviour: 13967 13968 * C: Always returns an invalid `SBTypeMemberFunction`. 13969 * C++: Returns the member function or constructor/destructor with the given 13970 index. 13971 * Objective-C: Returns the method with the given index. 13972 13973 See `GetNumberOfMemberFunctions` for what functions can be queried by this 13974 function. 13975 13976 """ 13977 return _lldb.SBType_GetMemberFunctionAtIndex(self, idx) 13978 13979 def GetModule(self): 13980 r""" 13981 GetModule(SBType self) -> SBModule 13982 Returns the `SBModule` this `SBType` belongs to. 13983 13984 Returns no `SBModule` if this type does not belong to any specific 13985 `SBModule` or this `SBType` is invalid. An invalid `SBModule` might also 13986 indicate that once came from an `SBModule` but LLDB could no longer 13987 determine the original module. 13988 13989 """ 13990 return _lldb.SBType_GetModule(self) 13991 13992 def GetName(self): 13993 r""" 13994 GetName() -> string 13995 Returns the name of this type. 13996 13997 Returns an empty string if an error occurred or this type is invalid. 13998 13999 Use this function when trying to match a specific type by name in a script. 14000 The names returned by this function try to uniquely identify a name but 14001 conflicts can occur (for example, if a C++ program contains two different 14002 classes with the same name in different translation units. `GetName` can 14003 return the same name for both class types.) 14004 14005 14006 Language-specific behaviour: 14007 14008 * C: The name of the type. For structs the ``struct`` prefix is omitted. 14009 * C++: Returns the qualified name of the type (including anonymous/inline 14010 namespaces and all template arguments). 14011 * Objective-C: Same as in C. 14012 14013 """ 14014 return _lldb.SBType_GetName(self) 14015 14016 def GetDisplayTypeName(self): 14017 r""" 14018 GetDisplayTypeName() -> string 14019 Returns the name of this type in a user-friendly format. 14020 14021 Returns an empty string if an error occurred or this type is invalid. 14022 14023 Use this function when displaying a type name to the user. 14024 14025 Language-specific behaviour: 14026 14027 * C: Returns the type name. For structs the ``struct`` prefix is omitted. 14028 * C++: Returns the qualified name. Anonymous/inline namespaces are omitted. 14029 Template arguments that match their default value might also be hidden 14030 (this functionality depends on whether LLDB can determine the template's 14031 default arguments). 14032 * Objective-C: Same as in C. 14033 14034 """ 14035 return _lldb.SBType_GetDisplayTypeName(self) 14036 14037 def GetTypeClass(self): 14038 r""" 14039 GetTypeClass() -> TypeClass 14040 Returns the `TypeClass` for this type. 14041 14042 Returns an `eTypeClassInvalid` if this `SBType` is invalid. 14043 14044 See `TypeClass` for the language-specific meaning of each `TypeClass` value. 14045 14046 """ 14047 return _lldb.SBType_GetTypeClass(self) 14048 14049 def IsTypeComplete(self): 14050 r""" 14051 IsTypeComplete(SBType self) -> bool 14052 Returns true if the type is completely defined. 14053 14054 Language-specific behaviour: 14055 14056 * C: Returns false for struct types that were only forward declared in the 14057 type's `SBTarget`/`SBModule`. Otherwise returns true. 14058 * C++: Returns false for template/non-template struct/class types and 14059 scoped enums that were only forward declared inside the type's 14060 `SBTarget`/`SBModule`. Otherwise returns true. 14061 * Objective-C: Follows the same behavior as C for struct types. Objective-C 14062 classes are considered complete unless they were only forward declared via 14063 ``@class ClassName`` in the type's `SBTarget`/`SBModule`. Otherwise 14064 returns true. 14065 14066 """ 14067 return _lldb.SBType_IsTypeComplete(self) 14068 14069 def GetTypeFlags(self): 14070 r""" 14071 GetTypeFlags(SBType self) -> uint32_t 14072 Returns the `TypeFlags` values for this type. 14073 14074 See the respective `TypeFlags` values for what values can be set. Returns an 14075 integer in which each `TypeFlags` value is represented by a bit. Specific 14076 flags can be checked via Python's bitwise operators. For example, the 14077 `eTypeIsInteger` flag can be checked like this: 14078 14079 ``(an_sb_type.GetTypeFlags() & lldb.eTypeIsInteger) != 0`` 14080 14081 If this type is invalid this returns ``0``. 14082 14083 See the different values for `TypeFlags` for the language-specific meanings 14084 of each `TypeFlags` value. 14085 14086 """ 14087 return _lldb.SBType_GetTypeFlags(self) 14088 14089 def GetDescription(self, description, description_level): 14090 r"""GetDescription(SBType self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14091 return _lldb.SBType_GetDescription(self, description, description_level) 14092 14093 def FindDirectNestedType(self, name): 14094 r""" 14095 FindDirectNestedType(SBType self, char const * name) -> SBType 14096 Searches for a directly nested type that has the provided name. 14097 14098 Returns the type if it was found. 14099 Returns invalid type if nothing was found. 14100 14101 """ 14102 return _lldb.SBType_FindDirectNestedType(self, name) 14103 14104 def __eq__(self, rhs): 14105 r"""__eq__(SBType self, SBType rhs) -> bool""" 14106 return _lldb.SBType___eq__(self, rhs) 14107 14108 def __ne__(self, rhs): 14109 r"""__ne__(SBType self, SBType rhs) -> bool""" 14110 return _lldb.SBType___ne__(self, rhs) 14111 14112 def __repr__(self): 14113 r"""__repr__(SBType self) -> std::string""" 14114 return _lldb.SBType___repr__(self) 14115 14116 def template_arg_array(self): 14117 num_args = self.num_template_args 14118 if num_args: 14119 template_args = [] 14120 for i in range(num_args): 14121 template_args.append(self.GetTemplateArgumentType(i)) 14122 return template_args 14123 return None 14124 14125 # operator== is a free function, which swig does not handle, so we inject 14126 # our own equality operator here 14127 def __eq__(self, other): 14128 return not self.__ne__(other) 14129 14130 def __len__(self): 14131 return self.GetByteSize() 14132 14133 module = property(GetModule, None, doc='''A read only property that returns the module in which type is defined.''') 14134 name = property(GetName, None, doc='''A read only property that returns the name for this type as a string.''') 14135 size = property(GetByteSize, None, doc='''A read only property that returns size in bytes for this type as an integer.''') 14136 is_pointer = property(IsPointerType, None, doc='''A read only property that returns a boolean value that indicates if this type is a pointer type.''') 14137 is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a reference type.''') 14138 is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a function type.''') 14139 num_fields = property(GetNumberOfFields, None, doc='''A read only property that returns number of fields in this type as an integer.''') 14140 num_bases = property(GetNumberOfDirectBaseClasses, None, doc='''A read only property that returns number of direct base classes in this type as an integer.''') 14141 num_vbases = property(GetNumberOfVirtualBaseClasses, None, doc='''A read only property that returns number of virtual base classes in this type as an integer.''') 14142 num_template_args = property(GetNumberOfTemplateArguments, None, doc='''A read only property that returns number of template arguments in this type as an integer.''') 14143 template_args = property(template_arg_array, None, doc='''A read only property that returns a list() of lldb.SBType objects that represent all template arguments in this type.''') 14144 type = property(GetTypeClass, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eTypeClass") that represents a classification for this type.''') 14145 is_complete = property(IsTypeComplete, None, doc='''A read only property that returns a boolean value that indicates if this type is a complete type (True) or a forward declaration (False).''') 14146 14147 def get_bases_array(self): 14148 '''An accessor function that returns a list() that contains all direct base classes in a lldb.SBType object.''' 14149 bases = [] 14150 for idx in range(self.GetNumberOfDirectBaseClasses()): 14151 bases.append(self.GetDirectBaseClassAtIndex(idx)) 14152 return bases 14153 14154 def get_vbases_array(self): 14155 '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.''' 14156 vbases = [] 14157 for idx in range(self.GetNumberOfVirtualBaseClasses()): 14158 vbases.append(self.GetVirtualBaseClassAtIndex(idx)) 14159 return vbases 14160 14161 def get_fields_array(self): 14162 '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.''' 14163 fields = [] 14164 for idx in range(self.GetNumberOfFields()): 14165 fields.append(self.GetFieldAtIndex(idx)) 14166 return fields 14167 14168 def get_members_array(self): 14169 '''An accessor function that returns a list() that contains all members (base classes and fields) in a lldb.SBType object in ascending bit offset order.''' 14170 members = [] 14171 bases = self.get_bases_array() 14172 fields = self.get_fields_array() 14173 vbases = self.get_vbases_array() 14174 for base in bases: 14175 bit_offset = base.bit_offset 14176 added = False 14177 for idx, member in enumerate(members): 14178 if member.bit_offset > bit_offset: 14179 members.insert(idx, base) 14180 added = True 14181 break 14182 if not added: 14183 members.append(base) 14184 for vbase in vbases: 14185 bit_offset = vbase.bit_offset 14186 added = False 14187 for idx, member in enumerate(members): 14188 if member.bit_offset > bit_offset: 14189 members.insert(idx, vbase) 14190 added = True 14191 break 14192 if not added: 14193 members.append(vbase) 14194 for field in fields: 14195 bit_offset = field.bit_offset 14196 added = False 14197 for idx, member in enumerate(members): 14198 if member.bit_offset > bit_offset: 14199 members.insert(idx, field) 14200 added = True 14201 break 14202 if not added: 14203 members.append(field) 14204 return members 14205 14206 def get_enum_members_array(self): 14207 '''An accessor function that returns a list() that contains all enum members in an lldb.SBType object.''' 14208 enum_members_list = [] 14209 sb_enum_members = self.GetEnumMembers() 14210 for idx in range(sb_enum_members.GetSize()): 14211 enum_members_list.append(sb_enum_members.GetTypeEnumMemberAtIndex(idx)) 14212 return enum_members_list 14213 14214 bases = property(get_bases_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the direct base classes for this type.''') 14215 vbases = property(get_vbases_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the virtual base classes for this type.''') 14216 fields = property(get_fields_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the fields for this type.''') 14217 members = property(get_members_array, None, doc='''A read only property that returns a list() of all lldb.SBTypeMember objects that represent all of the base classes, virtual base classes and fields for this type in ascending bit offset order.''') 14218 enum_members = property(get_enum_members_array, None, doc='''A read only property that returns a list() of all lldb.SBTypeEnumMember objects that represent the enum members for this type.''') 14219 14220 14221# Register SBType in _lldb: 14222_lldb.SBType_swigregister(SBType) 14223class SBTypeList(object): 14224 r""" 14225 Represents a list of :py:class:`SBType` s. 14226 14227 The FindTypes() method of :py:class:`SBTarget`/:py:class:`SBModule` returns a SBTypeList. 14228 14229 SBTypeList supports :py:class:`SBType` iteration. For example, 14230 14231 .. code-block:: cpp 14232 14233 // main.cpp: 14234 14235 class Task { 14236 public: 14237 int id; 14238 Task *next; 14239 Task(int i, Task *n): 14240 id(i), 14241 next(n) 14242 {} 14243 }; 14244 14245 .. code-block:: python 14246 14247 # find_type.py: 14248 14249 # Get the type 'Task'. 14250 type_list = target.FindTypes('Task') 14251 self.assertTrue(len(type_list) == 1) 14252 # To illustrate the SBType iteration. 14253 for type in type_list: 14254 # do something with type 14255 14256 14257 """ 14258 14259 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14260 __repr__ = _swig_repr 14261 14262 def __init__(self, *args): 14263 r""" 14264 __init__(SBTypeList self) -> SBTypeList 14265 __init__(SBTypeList self, SBTypeList rhs) -> SBTypeList 14266 """ 14267 _lldb.SBTypeList_swiginit(self, _lldb.new_SBTypeList(*args)) 14268 __swig_destroy__ = _lldb.delete_SBTypeList 14269 14270 def __nonzero__(self): 14271 return _lldb.SBTypeList___nonzero__(self) 14272 __bool__ = __nonzero__ 14273 14274 14275 14276 def IsValid(self): 14277 r"""IsValid(SBTypeList self) -> bool""" 14278 return _lldb.SBTypeList_IsValid(self) 14279 14280 def Append(self, type): 14281 r"""Append(SBTypeList self, SBType type)""" 14282 return _lldb.SBTypeList_Append(self, type) 14283 14284 def GetTypeAtIndex(self, index): 14285 r"""GetTypeAtIndex(SBTypeList self, uint32_t index) -> SBType""" 14286 return _lldb.SBTypeList_GetTypeAtIndex(self, index) 14287 14288 def GetSize(self): 14289 r"""GetSize(SBTypeList self) -> uint32_t""" 14290 return _lldb.SBTypeList_GetSize(self) 14291 14292 # operator== is a free function, which swig does not handle, so we inject 14293 # our own equality operator here 14294 def __eq__(self, other): 14295 return not self.__ne__(other) 14296 14297 def __iter__(self): 14298 '''Iterate over all types in a lldb.SBTypeList object.''' 14299 return lldb_iter(self, 'GetSize', 'GetTypeAtIndex') 14300 14301 def __len__(self): 14302 '''Return the number of types in a lldb.SBTypeList object.''' 14303 return self.GetSize() 14304 14305 14306# Register SBTypeList in _lldb: 14307_lldb.SBTypeList_swigregister(SBTypeList) 14308class SBTypeCategory(object): 14309 r"""Represents a category that can contain formatters for types.""" 14310 14311 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14312 14313 def __init__(self, *args): 14314 r""" 14315 __init__(SBTypeCategory self) -> SBTypeCategory 14316 __init__(SBTypeCategory self, SBTypeCategory rhs) -> SBTypeCategory 14317 """ 14318 _lldb.SBTypeCategory_swiginit(self, _lldb.new_SBTypeCategory(*args)) 14319 __swig_destroy__ = _lldb.delete_SBTypeCategory 14320 14321 def __nonzero__(self): 14322 return _lldb.SBTypeCategory___nonzero__(self) 14323 __bool__ = __nonzero__ 14324 14325 14326 14327 def IsValid(self): 14328 r"""IsValid(SBTypeCategory self) -> bool""" 14329 return _lldb.SBTypeCategory_IsValid(self) 14330 14331 def GetEnabled(self): 14332 r"""GetEnabled(SBTypeCategory self) -> bool""" 14333 return _lldb.SBTypeCategory_GetEnabled(self) 14334 14335 def SetEnabled(self, arg2): 14336 r"""SetEnabled(SBTypeCategory self, bool arg2)""" 14337 return _lldb.SBTypeCategory_SetEnabled(self, arg2) 14338 14339 def GetName(self): 14340 r"""GetName(SBTypeCategory self) -> char const *""" 14341 return _lldb.SBTypeCategory_GetName(self) 14342 14343 def GetLanguageAtIndex(self, idx): 14344 r"""GetLanguageAtIndex(SBTypeCategory self, uint32_t idx) -> lldb::LanguageType""" 14345 return _lldb.SBTypeCategory_GetLanguageAtIndex(self, idx) 14346 14347 def GetNumLanguages(self): 14348 r"""GetNumLanguages(SBTypeCategory self) -> uint32_t""" 14349 return _lldb.SBTypeCategory_GetNumLanguages(self) 14350 14351 def AddLanguage(self, language): 14352 r"""AddLanguage(SBTypeCategory self, lldb::LanguageType language)""" 14353 return _lldb.SBTypeCategory_AddLanguage(self, language) 14354 14355 def GetDescription(self, description, description_level): 14356 r"""GetDescription(SBTypeCategory self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14357 return _lldb.SBTypeCategory_GetDescription(self, description, description_level) 14358 14359 def GetNumFormats(self): 14360 r"""GetNumFormats(SBTypeCategory self) -> uint32_t""" 14361 return _lldb.SBTypeCategory_GetNumFormats(self) 14362 14363 def GetNumSummaries(self): 14364 r"""GetNumSummaries(SBTypeCategory self) -> uint32_t""" 14365 return _lldb.SBTypeCategory_GetNumSummaries(self) 14366 14367 def GetNumFilters(self): 14368 r"""GetNumFilters(SBTypeCategory self) -> uint32_t""" 14369 return _lldb.SBTypeCategory_GetNumFilters(self) 14370 14371 def GetNumSynthetics(self): 14372 r"""GetNumSynthetics(SBTypeCategory self) -> uint32_t""" 14373 return _lldb.SBTypeCategory_GetNumSynthetics(self) 14374 14375 def GetTypeNameSpecifierForFilterAtIndex(self, arg2): 14376 r"""GetTypeNameSpecifierForFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14377 return _lldb.SBTypeCategory_GetTypeNameSpecifierForFilterAtIndex(self, arg2) 14378 14379 def GetTypeNameSpecifierForFormatAtIndex(self, arg2): 14380 r"""GetTypeNameSpecifierForFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14381 return _lldb.SBTypeCategory_GetTypeNameSpecifierForFormatAtIndex(self, arg2) 14382 14383 def GetTypeNameSpecifierForSummaryAtIndex(self, arg2): 14384 r"""GetTypeNameSpecifierForSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14385 return _lldb.SBTypeCategory_GetTypeNameSpecifierForSummaryAtIndex(self, arg2) 14386 14387 def GetTypeNameSpecifierForSyntheticAtIndex(self, arg2): 14388 r"""GetTypeNameSpecifierForSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14389 return _lldb.SBTypeCategory_GetTypeNameSpecifierForSyntheticAtIndex(self, arg2) 14390 14391 def GetFilterForType(self, arg2): 14392 r"""GetFilterForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFilter""" 14393 return _lldb.SBTypeCategory_GetFilterForType(self, arg2) 14394 14395 def GetFormatForType(self, arg2): 14396 r"""GetFormatForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFormat""" 14397 return _lldb.SBTypeCategory_GetFormatForType(self, arg2) 14398 14399 def GetSummaryForType(self, arg2): 14400 r"""GetSummaryForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSummary""" 14401 return _lldb.SBTypeCategory_GetSummaryForType(self, arg2) 14402 14403 def GetSyntheticForType(self, arg2): 14404 r"""GetSyntheticForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic""" 14405 return _lldb.SBTypeCategory_GetSyntheticForType(self, arg2) 14406 14407 def GetFilterAtIndex(self, arg2): 14408 r"""GetFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFilter""" 14409 return _lldb.SBTypeCategory_GetFilterAtIndex(self, arg2) 14410 14411 def GetFormatAtIndex(self, arg2): 14412 r"""GetFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFormat""" 14413 return _lldb.SBTypeCategory_GetFormatAtIndex(self, arg2) 14414 14415 def GetSummaryAtIndex(self, arg2): 14416 r"""GetSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSummary""" 14417 return _lldb.SBTypeCategory_GetSummaryAtIndex(self, arg2) 14418 14419 def GetSyntheticAtIndex(self, arg2): 14420 r"""GetSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSynthetic""" 14421 return _lldb.SBTypeCategory_GetSyntheticAtIndex(self, arg2) 14422 14423 def AddTypeFormat(self, arg2, arg3): 14424 r"""AddTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFormat arg3) -> bool""" 14425 return _lldb.SBTypeCategory_AddTypeFormat(self, arg2, arg3) 14426 14427 def DeleteTypeFormat(self, arg2): 14428 r"""DeleteTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14429 return _lldb.SBTypeCategory_DeleteTypeFormat(self, arg2) 14430 14431 def AddTypeSummary(self, arg2, arg3): 14432 r"""AddTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSummary arg3) -> bool""" 14433 return _lldb.SBTypeCategory_AddTypeSummary(self, arg2, arg3) 14434 14435 def DeleteTypeSummary(self, arg2): 14436 r"""DeleteTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14437 return _lldb.SBTypeCategory_DeleteTypeSummary(self, arg2) 14438 14439 def AddTypeFilter(self, arg2, arg3): 14440 r"""AddTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFilter arg3) -> bool""" 14441 return _lldb.SBTypeCategory_AddTypeFilter(self, arg2, arg3) 14442 14443 def DeleteTypeFilter(self, arg2): 14444 r"""DeleteTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14445 return _lldb.SBTypeCategory_DeleteTypeFilter(self, arg2) 14446 14447 def AddTypeSynthetic(self, arg2, arg3): 14448 r"""AddTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSynthetic arg3) -> bool""" 14449 return _lldb.SBTypeCategory_AddTypeSynthetic(self, arg2, arg3) 14450 14451 def DeleteTypeSynthetic(self, arg2): 14452 r"""DeleteTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14453 return _lldb.SBTypeCategory_DeleteTypeSynthetic(self, arg2) 14454 14455 def __eq__(self, rhs): 14456 r"""__eq__(SBTypeCategory self, SBTypeCategory rhs) -> bool""" 14457 return _lldb.SBTypeCategory___eq__(self, rhs) 14458 14459 def __ne__(self, rhs): 14460 r"""__ne__(SBTypeCategory self, SBTypeCategory rhs) -> bool""" 14461 return _lldb.SBTypeCategory___ne__(self, rhs) 14462 14463 def __repr__(self): 14464 r"""__repr__(SBTypeCategory self) -> std::string""" 14465 return _lldb.SBTypeCategory___repr__(self) 14466 14467 # operator== is a free function, which swig does not handle, so we inject 14468 # our own equality operator here 14469 def __eq__(self, other): 14470 return not self.__ne__(other) 14471 14472 14473 class formatters_access_class(object): 14474 '''A helper object that will lazily hand out formatters for a specific category.''' 14475 def __init__(self, sbcategory, get_count_function, get_at_index_function, get_by_name_function): 14476 self.sbcategory = sbcategory 14477 self.get_count_function = get_count_function 14478 self.get_at_index_function = get_at_index_function 14479 self.get_by_name_function = get_by_name_function 14480 self.regex_type = type(re.compile('.')) 14481 14482 14483 def __len__(self): 14484 if self.sbcategory and self.get_count_function: 14485 return int(self.get_count_function(self.sbcategory)) 14486 return 0 14487 14488 def __getitem__(self, key): 14489 num_items = len(self) 14490 if type(key) is int: 14491 if -num_items <= key < num_items: 14492 key %= num_items 14493 return self.get_at_index_function(self.sbcategory,key) 14494 elif type(key) is str: 14495 return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key)) 14496 elif isinstance(key,self.regex_type): 14497 return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key.pattern,True)) 14498 else: 14499 print("error: unsupported item type: %s" % type(key)) 14500 return None 14501 14502 def get_formats_access_object(self): 14503 '''An accessor function that returns an accessor object which allows lazy format access from a lldb.SBTypeCategory object.''' 14504 return self.formatters_access_class (self,self.__class__.GetNumFormats,self.__class__.GetFormatAtIndex,self.__class__.GetFormatForType) 14505 14506 def get_formats_array(self): 14507 '''An accessor function that returns a list() that contains all formats in a lldb.SBCategory object.''' 14508 formats = [] 14509 for idx in range(self.GetNumFormats()): 14510 formats.append(self.GetFormatAtIndex(idx)) 14511 return formats 14512 14513 def get_summaries_access_object(self): 14514 '''An accessor function that returns an accessor object which allows lazy summary access from a lldb.SBTypeCategory object.''' 14515 return self.formatters_access_class (self,self.__class__.GetNumSummaries,self.__class__.GetSummaryAtIndex,self.__class__.GetSummaryForType) 14516 14517 def get_summaries_array(self): 14518 '''An accessor function that returns a list() that contains all summaries in a lldb.SBCategory object.''' 14519 summaries = [] 14520 for idx in range(self.GetNumSummaries()): 14521 summaries.append(self.GetSummaryAtIndex(idx)) 14522 return summaries 14523 14524 def get_synthetics_access_object(self): 14525 '''An accessor function that returns an accessor object which allows lazy synthetic children provider access from a lldb.SBTypeCategory object.''' 14526 return self.formatters_access_class (self,self.__class__.GetNumSynthetics,self.__class__.GetSyntheticAtIndex,self.__class__.GetSyntheticForType) 14527 14528 def get_synthetics_array(self): 14529 '''An accessor function that returns a list() that contains all synthetic children providers in a lldb.SBCategory object.''' 14530 synthetics = [] 14531 for idx in range(self.GetNumSynthetics()): 14532 synthetics.append(self.GetSyntheticAtIndex(idx)) 14533 return synthetics 14534 14535 def get_filters_access_object(self): 14536 '''An accessor function that returns an accessor object which allows lazy filter access from a lldb.SBTypeCategory object.''' 14537 return self.formatters_access_class (self,self.__class__.GetNumFilters,self.__class__.GetFilterAtIndex,self.__class__.GetFilterForType) 14538 14539 def get_filters_array(self): 14540 '''An accessor function that returns a list() that contains all filters in a lldb.SBCategory object.''' 14541 filters = [] 14542 for idx in range(self.GetNumFilters()): 14543 filters.append(self.GetFilterAtIndex(idx)) 14544 return filters 14545 14546 formats = property(get_formats_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFormat objects contained in this category''') 14547 format = property(get_formats_access_object, None, doc=r'''A read only property that returns an object that you can use to look for formats by index or type name.''') 14548 summaries = property(get_summaries_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSummary objects contained in this category''') 14549 summary = property(get_summaries_access_object, None, doc=r'''A read only property that returns an object that you can use to look for summaries by index or type name or regular expression.''') 14550 filters = property(get_filters_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFilter objects contained in this category''') 14551 filter = property(get_filters_access_object, None, doc=r'''A read only property that returns an object that you can use to look for filters by index or type name or regular expression.''') 14552 synthetics = property(get_synthetics_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSynthetic objects contained in this category''') 14553 synthetic = property(get_synthetics_access_object, None, doc=r'''A read only property that returns an object that you can use to look for synthetic children provider by index or type name or regular expression.''') 14554 num_formats = property(GetNumFormats, None) 14555 num_summaries = property(GetNumSummaries, None) 14556 num_filters = property(GetNumFilters, None) 14557 num_synthetics = property(GetNumSynthetics, None) 14558 name = property(GetName, None) 14559 enabled = property(GetEnabled, SetEnabled) 14560 14561 14562# Register SBTypeCategory in _lldb: 14563_lldb.SBTypeCategory_swigregister(SBTypeCategory) 14564class SBTypeEnumMember(object): 14565 r"""Represents a member of an enum in lldb.""" 14566 14567 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14568 14569 def __init__(self, *args): 14570 r""" 14571 __init__(SBTypeEnumMember self) -> SBTypeEnumMember 14572 __init__(SBTypeEnumMember self, SBTypeEnumMember rhs) -> SBTypeEnumMember 14573 """ 14574 _lldb.SBTypeEnumMember_swiginit(self, _lldb.new_SBTypeEnumMember(*args)) 14575 __swig_destroy__ = _lldb.delete_SBTypeEnumMember 14576 14577 def __nonzero__(self): 14578 return _lldb.SBTypeEnumMember___nonzero__(self) 14579 __bool__ = __nonzero__ 14580 14581 14582 14583 def IsValid(self): 14584 r"""IsValid(SBTypeEnumMember self) -> bool""" 14585 return _lldb.SBTypeEnumMember_IsValid(self) 14586 14587 def GetValueAsSigned(self): 14588 r"""GetValueAsSigned(SBTypeEnumMember self) -> int64_t""" 14589 return _lldb.SBTypeEnumMember_GetValueAsSigned(self) 14590 14591 def GetValueAsUnsigned(self): 14592 r"""GetValueAsUnsigned(SBTypeEnumMember self) -> uint64_t""" 14593 return _lldb.SBTypeEnumMember_GetValueAsUnsigned(self) 14594 14595 def GetName(self): 14596 r"""GetName(SBTypeEnumMember self) -> char const *""" 14597 return _lldb.SBTypeEnumMember_GetName(self) 14598 14599 def GetType(self): 14600 r"""GetType(SBTypeEnumMember self) -> SBType""" 14601 return _lldb.SBTypeEnumMember_GetType(self) 14602 14603 def GetDescription(self, description, description_level): 14604 r"""GetDescription(SBTypeEnumMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14605 return _lldb.SBTypeEnumMember_GetDescription(self, description, description_level) 14606 14607 def __repr__(self): 14608 r"""__repr__(SBTypeEnumMember self) -> std::string""" 14609 return _lldb.SBTypeEnumMember___repr__(self) 14610 14611 def __iter__(self): 14612 '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' 14613 return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') 14614 14615 def __len__(self): 14616 '''Return the number of members in a lldb.SBTypeEnumMemberList object.''' 14617 return self.GetSize() 14618 14619 name = property(GetName, None, doc='''A read only property that returns the name for this enum member as a string.''') 14620 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this enum member.''') 14621 signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this enum member as a signed integer.''') 14622 unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this enum member as a unsigned integer.''') 14623 14624 14625# Register SBTypeEnumMember in _lldb: 14626_lldb.SBTypeEnumMember_swigregister(SBTypeEnumMember) 14627class SBTypeEnumMemberList(object): 14628 r""" 14629 Represents a list of SBTypeEnumMembers. 14630 14631 SBTypeEnumMemberList supports SBTypeEnumMember iteration. 14632 It also supports [] access either by index, or by enum 14633 element name by doing: :: 14634 14635 myType = target.FindFirstType('MyEnumWithElementA') 14636 members = myType.GetEnumMembers() 14637 first_elem = members[0] 14638 elem_A = members['A'] 14639 14640 14641 """ 14642 14643 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14644 __repr__ = _swig_repr 14645 14646 def __init__(self, *args): 14647 r""" 14648 __init__(SBTypeEnumMemberList self) -> SBTypeEnumMemberList 14649 __init__(SBTypeEnumMemberList self, SBTypeEnumMemberList rhs) -> SBTypeEnumMemberList 14650 """ 14651 _lldb.SBTypeEnumMemberList_swiginit(self, _lldb.new_SBTypeEnumMemberList(*args)) 14652 __swig_destroy__ = _lldb.delete_SBTypeEnumMemberList 14653 14654 def __nonzero__(self): 14655 return _lldb.SBTypeEnumMemberList___nonzero__(self) 14656 __bool__ = __nonzero__ 14657 14658 14659 14660 def IsValid(self): 14661 r"""IsValid(SBTypeEnumMemberList self) -> bool""" 14662 return _lldb.SBTypeEnumMemberList_IsValid(self) 14663 14664 def Append(self, entry): 14665 r"""Append(SBTypeEnumMemberList self, SBTypeEnumMember entry)""" 14666 return _lldb.SBTypeEnumMemberList_Append(self, entry) 14667 14668 def GetTypeEnumMemberAtIndex(self, index): 14669 r"""GetTypeEnumMemberAtIndex(SBTypeEnumMemberList self, uint32_t index) -> SBTypeEnumMember""" 14670 return _lldb.SBTypeEnumMemberList_GetTypeEnumMemberAtIndex(self, index) 14671 14672 def GetSize(self): 14673 r"""GetSize(SBTypeEnumMemberList self) -> uint32_t""" 14674 return _lldb.SBTypeEnumMemberList_GetSize(self) 14675 14676 def __iter__(self): 14677 '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' 14678 return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') 14679 14680 def __len__(self): 14681 '''Return the number of members in a lldb.SBTypeEnumMemberList object.''' 14682 return self.GetSize() 14683 14684 def __getitem__(self, key): 14685 num_elements = self.GetSize() 14686 if type(key) is int: 14687 if -num_elements <= key < num_elements: 14688 key %= num_elements 14689 return self.GetTypeEnumMemberAtIndex(key) 14690 elif type(key) is str: 14691 for idx in range(num_elements): 14692 item = self.GetTypeEnumMemberAtIndex(idx) 14693 if item.name == key: 14694 return item 14695 return None 14696 14697 14698# Register SBTypeEnumMemberList in _lldb: 14699_lldb.SBTypeEnumMemberList_swigregister(SBTypeEnumMemberList) 14700class SBTypeFilter(object): 14701 r"""Represents a filter that can be associated to one or more types.""" 14702 14703 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14704 14705 def __init__(self, *args): 14706 r""" 14707 __init__(SBTypeFilter self) -> SBTypeFilter 14708 __init__(SBTypeFilter self, uint32_t options) -> SBTypeFilter 14709 __init__(SBTypeFilter self, SBTypeFilter rhs) -> SBTypeFilter 14710 """ 14711 _lldb.SBTypeFilter_swiginit(self, _lldb.new_SBTypeFilter(*args)) 14712 __swig_destroy__ = _lldb.delete_SBTypeFilter 14713 14714 def __nonzero__(self): 14715 return _lldb.SBTypeFilter___nonzero__(self) 14716 __bool__ = __nonzero__ 14717 14718 14719 14720 def IsValid(self): 14721 r"""IsValid(SBTypeFilter self) -> bool""" 14722 return _lldb.SBTypeFilter_IsValid(self) 14723 14724 def GetNumberOfExpressionPaths(self): 14725 r"""GetNumberOfExpressionPaths(SBTypeFilter self) -> uint32_t""" 14726 return _lldb.SBTypeFilter_GetNumberOfExpressionPaths(self) 14727 14728 def GetExpressionPathAtIndex(self, i): 14729 r"""GetExpressionPathAtIndex(SBTypeFilter self, uint32_t i) -> char const *""" 14730 return _lldb.SBTypeFilter_GetExpressionPathAtIndex(self, i) 14731 14732 def ReplaceExpressionPathAtIndex(self, i, item): 14733 r"""ReplaceExpressionPathAtIndex(SBTypeFilter self, uint32_t i, char const * item) -> bool""" 14734 return _lldb.SBTypeFilter_ReplaceExpressionPathAtIndex(self, i, item) 14735 14736 def AppendExpressionPath(self, item): 14737 r"""AppendExpressionPath(SBTypeFilter self, char const * item)""" 14738 return _lldb.SBTypeFilter_AppendExpressionPath(self, item) 14739 14740 def Clear(self): 14741 r"""Clear(SBTypeFilter self)""" 14742 return _lldb.SBTypeFilter_Clear(self) 14743 14744 def GetOptions(self): 14745 r"""GetOptions(SBTypeFilter self) -> uint32_t""" 14746 return _lldb.SBTypeFilter_GetOptions(self) 14747 14748 def SetOptions(self, arg2): 14749 r"""SetOptions(SBTypeFilter self, uint32_t arg2)""" 14750 return _lldb.SBTypeFilter_SetOptions(self, arg2) 14751 14752 def GetDescription(self, description, description_level): 14753 r"""GetDescription(SBTypeFilter self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14754 return _lldb.SBTypeFilter_GetDescription(self, description, description_level) 14755 14756 def IsEqualTo(self, rhs): 14757 r"""IsEqualTo(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14758 return _lldb.SBTypeFilter_IsEqualTo(self, rhs) 14759 14760 def __eq__(self, rhs): 14761 r"""__eq__(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14762 return _lldb.SBTypeFilter___eq__(self, rhs) 14763 14764 def __ne__(self, rhs): 14765 r"""__ne__(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14766 return _lldb.SBTypeFilter___ne__(self, rhs) 14767 14768 def __repr__(self): 14769 r"""__repr__(SBTypeFilter self) -> std::string""" 14770 return _lldb.SBTypeFilter___repr__(self) 14771 14772 # operator== is a free function, which swig does not handle, so we inject 14773 # our own equality operator here 14774 def __eq__(self, other): 14775 return not self.__ne__(other) 14776 14777 options = property(GetOptions, SetOptions) 14778 count = property(GetNumberOfExpressionPaths) 14779 14780 14781 def __eq__(self, rhs): 14782 if not isinstance(rhs, type(self)): 14783 return False 14784 14785 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14786 14787 def __ne__(self, rhs): 14788 if not isinstance(rhs, type(self)): 14789 return True 14790 14791 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14792 14793 14794# Register SBTypeFilter in _lldb: 14795_lldb.SBTypeFilter_swigregister(SBTypeFilter) 14796class SBTypeFormat(object): 14797 r"""Represents a format that can be associated to one or more types.""" 14798 14799 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14800 14801 def __init__(self, *args): 14802 r""" 14803 __init__(SBTypeFormat self) -> SBTypeFormat 14804 __init__(SBTypeFormat self, lldb::Format format, uint32_t options=0) -> SBTypeFormat 14805 __init__(SBTypeFormat self, char const * type, uint32_t options=0) -> SBTypeFormat 14806 __init__(SBTypeFormat self, SBTypeFormat rhs) -> SBTypeFormat 14807 """ 14808 _lldb.SBTypeFormat_swiginit(self, _lldb.new_SBTypeFormat(*args)) 14809 __swig_destroy__ = _lldb.delete_SBTypeFormat 14810 14811 def __nonzero__(self): 14812 return _lldb.SBTypeFormat___nonzero__(self) 14813 __bool__ = __nonzero__ 14814 14815 14816 14817 def IsValid(self): 14818 r"""IsValid(SBTypeFormat self) -> bool""" 14819 return _lldb.SBTypeFormat_IsValid(self) 14820 14821 def GetFormat(self): 14822 r"""GetFormat(SBTypeFormat self) -> lldb::Format""" 14823 return _lldb.SBTypeFormat_GetFormat(self) 14824 14825 def GetTypeName(self): 14826 r"""GetTypeName(SBTypeFormat self) -> char const *""" 14827 return _lldb.SBTypeFormat_GetTypeName(self) 14828 14829 def GetOptions(self): 14830 r"""GetOptions(SBTypeFormat self) -> uint32_t""" 14831 return _lldb.SBTypeFormat_GetOptions(self) 14832 14833 def SetFormat(self, arg2): 14834 r"""SetFormat(SBTypeFormat self, lldb::Format arg2)""" 14835 return _lldb.SBTypeFormat_SetFormat(self, arg2) 14836 14837 def SetTypeName(self, arg2): 14838 r"""SetTypeName(SBTypeFormat self, char const * arg2)""" 14839 return _lldb.SBTypeFormat_SetTypeName(self, arg2) 14840 14841 def SetOptions(self, arg2): 14842 r"""SetOptions(SBTypeFormat self, uint32_t arg2)""" 14843 return _lldb.SBTypeFormat_SetOptions(self, arg2) 14844 14845 def GetDescription(self, description, description_level): 14846 r"""GetDescription(SBTypeFormat self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14847 return _lldb.SBTypeFormat_GetDescription(self, description, description_level) 14848 14849 def IsEqualTo(self, rhs): 14850 r"""IsEqualTo(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14851 return _lldb.SBTypeFormat_IsEqualTo(self, rhs) 14852 14853 def __eq__(self, rhs): 14854 r"""__eq__(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14855 return _lldb.SBTypeFormat___eq__(self, rhs) 14856 14857 def __ne__(self, rhs): 14858 r"""__ne__(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14859 return _lldb.SBTypeFormat___ne__(self, rhs) 14860 14861 def __repr__(self): 14862 r"""__repr__(SBTypeFormat self) -> std::string""" 14863 return _lldb.SBTypeFormat___repr__(self) 14864 14865 # operator== is a free function, which swig does not handle, so we inject 14866 # our own equality operator here 14867 def __eq__(self, other): 14868 return not self.__ne__(other) 14869 14870 format = property(GetFormat, SetFormat) 14871 options = property(GetOptions, SetOptions) 14872 14873 14874# Register SBTypeFormat in _lldb: 14875_lldb.SBTypeFormat_swigregister(SBTypeFormat) 14876class SBTypeNameSpecifier(object): 14877 r"""Represents a general way to provide a type name to LLDB APIs.""" 14878 14879 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14880 14881 def __init__(self, *args): 14882 r""" 14883 __init__(SBTypeNameSpecifier self) -> SBTypeNameSpecifier 14884 __init__(SBTypeNameSpecifier self, char const * name, bool is_regex=False) -> SBTypeNameSpecifier 14885 __init__(SBTypeNameSpecifier self, char const * name, lldb::FormatterMatchType match_type) -> SBTypeNameSpecifier 14886 __init__(SBTypeNameSpecifier self, SBType type) -> SBTypeNameSpecifier 14887 __init__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> SBTypeNameSpecifier 14888 """ 14889 _lldb.SBTypeNameSpecifier_swiginit(self, _lldb.new_SBTypeNameSpecifier(*args)) 14890 __swig_destroy__ = _lldb.delete_SBTypeNameSpecifier 14891 14892 def __nonzero__(self): 14893 return _lldb.SBTypeNameSpecifier___nonzero__(self) 14894 __bool__ = __nonzero__ 14895 14896 14897 14898 def IsValid(self): 14899 r"""IsValid(SBTypeNameSpecifier self) -> bool""" 14900 return _lldb.SBTypeNameSpecifier_IsValid(self) 14901 14902 def GetName(self): 14903 r"""GetName(SBTypeNameSpecifier self) -> char const *""" 14904 return _lldb.SBTypeNameSpecifier_GetName(self) 14905 14906 def GetType(self): 14907 r"""GetType(SBTypeNameSpecifier self) -> SBType""" 14908 return _lldb.SBTypeNameSpecifier_GetType(self) 14909 14910 def GetMatchType(self): 14911 r"""GetMatchType(SBTypeNameSpecifier self) -> lldb::FormatterMatchType""" 14912 return _lldb.SBTypeNameSpecifier_GetMatchType(self) 14913 14914 def IsRegex(self): 14915 r"""IsRegex(SBTypeNameSpecifier self) -> bool""" 14916 return _lldb.SBTypeNameSpecifier_IsRegex(self) 14917 14918 def GetDescription(self, description, description_level): 14919 r"""GetDescription(SBTypeNameSpecifier self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14920 return _lldb.SBTypeNameSpecifier_GetDescription(self, description, description_level) 14921 14922 def IsEqualTo(self, rhs): 14923 r"""IsEqualTo(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14924 return _lldb.SBTypeNameSpecifier_IsEqualTo(self, rhs) 14925 14926 def __eq__(self, rhs): 14927 r"""__eq__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14928 return _lldb.SBTypeNameSpecifier___eq__(self, rhs) 14929 14930 def __ne__(self, rhs): 14931 r"""__ne__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14932 return _lldb.SBTypeNameSpecifier___ne__(self, rhs) 14933 14934 def __repr__(self): 14935 r"""__repr__(SBTypeNameSpecifier self) -> std::string""" 14936 return _lldb.SBTypeNameSpecifier___repr__(self) 14937 14938 # operator== is a free function, which swig does not handle, so we inject 14939 # our own equality operator here 14940 def __eq__(self, other): 14941 return not self.__ne__(other) 14942 14943 name = property(GetName) 14944 is_regex = property(IsRegex) 14945 14946 14947 def __eq__(self, rhs): 14948 if not isinstance(rhs, type(self)): 14949 return False 14950 14951 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14952 14953 def __ne__(self, rhs): 14954 if not isinstance(rhs, type(self)): 14955 return True 14956 14957 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14958 14959 14960# Register SBTypeNameSpecifier in _lldb: 14961_lldb.SBTypeNameSpecifier_swigregister(SBTypeNameSpecifier) 14962class SBTypeSummaryOptions(object): 14963 r"""Proxy of C++ lldb::SBTypeSummaryOptions class.""" 14964 14965 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14966 __repr__ = _swig_repr 14967 14968 def __init__(self, *args): 14969 r""" 14970 __init__(SBTypeSummaryOptions self) -> SBTypeSummaryOptions 14971 __init__(SBTypeSummaryOptions self, SBTypeSummaryOptions rhs) -> SBTypeSummaryOptions 14972 """ 14973 _lldb.SBTypeSummaryOptions_swiginit(self, _lldb.new_SBTypeSummaryOptions(*args)) 14974 __swig_destroy__ = _lldb.delete_SBTypeSummaryOptions 14975 14976 def __nonzero__(self): 14977 return _lldb.SBTypeSummaryOptions___nonzero__(self) 14978 __bool__ = __nonzero__ 14979 14980 14981 14982 def IsValid(self): 14983 r"""IsValid(SBTypeSummaryOptions self) -> bool""" 14984 return _lldb.SBTypeSummaryOptions_IsValid(self) 14985 14986 def GetLanguage(self): 14987 r"""GetLanguage(SBTypeSummaryOptions self) -> lldb::LanguageType""" 14988 return _lldb.SBTypeSummaryOptions_GetLanguage(self) 14989 14990 def GetCapping(self): 14991 r"""GetCapping(SBTypeSummaryOptions self) -> lldb::TypeSummaryCapping""" 14992 return _lldb.SBTypeSummaryOptions_GetCapping(self) 14993 14994 def SetLanguage(self, arg2): 14995 r"""SetLanguage(SBTypeSummaryOptions self, lldb::LanguageType arg2)""" 14996 return _lldb.SBTypeSummaryOptions_SetLanguage(self, arg2) 14997 14998 def SetCapping(self, arg2): 14999 r"""SetCapping(SBTypeSummaryOptions self, lldb::TypeSummaryCapping arg2)""" 15000 return _lldb.SBTypeSummaryOptions_SetCapping(self, arg2) 15001 15002# Register SBTypeSummaryOptions in _lldb: 15003_lldb.SBTypeSummaryOptions_swigregister(SBTypeSummaryOptions) 15004class SBTypeSummary(object): 15005 r"""Represents a summary that can be associated to one or more types.""" 15006 15007 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15008 15009 @staticmethod 15010 def CreateWithSummaryString(data, options=0): 15011 r"""CreateWithSummaryString(char const * data, uint32_t options=0) -> SBTypeSummary""" 15012 return _lldb.SBTypeSummary_CreateWithSummaryString(data, options) 15013 15014 @staticmethod 15015 def CreateWithFunctionName(data, options=0): 15016 r"""CreateWithFunctionName(char const * data, uint32_t options=0) -> SBTypeSummary""" 15017 return _lldb.SBTypeSummary_CreateWithFunctionName(data, options) 15018 15019 @staticmethod 15020 def CreateWithScriptCode(data, options=0): 15021 r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSummary""" 15022 return _lldb.SBTypeSummary_CreateWithScriptCode(data, options) 15023 15024 def __init__(self, *args): 15025 r""" 15026 __init__(SBTypeSummary self) -> SBTypeSummary 15027 __init__(SBTypeSummary self, SBTypeSummary rhs) -> SBTypeSummary 15028 """ 15029 _lldb.SBTypeSummary_swiginit(self, _lldb.new_SBTypeSummary(*args)) 15030 __swig_destroy__ = _lldb.delete_SBTypeSummary 15031 15032 def __nonzero__(self): 15033 return _lldb.SBTypeSummary___nonzero__(self) 15034 __bool__ = __nonzero__ 15035 15036 15037 15038 def IsValid(self): 15039 r"""IsValid(SBTypeSummary self) -> bool""" 15040 return _lldb.SBTypeSummary_IsValid(self) 15041 15042 def IsFunctionCode(self): 15043 r"""IsFunctionCode(SBTypeSummary self) -> bool""" 15044 return _lldb.SBTypeSummary_IsFunctionCode(self) 15045 15046 def IsFunctionName(self): 15047 r"""IsFunctionName(SBTypeSummary self) -> bool""" 15048 return _lldb.SBTypeSummary_IsFunctionName(self) 15049 15050 def IsSummaryString(self): 15051 r"""IsSummaryString(SBTypeSummary self) -> bool""" 15052 return _lldb.SBTypeSummary_IsSummaryString(self) 15053 15054 def GetData(self): 15055 r"""GetData(SBTypeSummary self) -> char const *""" 15056 return _lldb.SBTypeSummary_GetData(self) 15057 15058 def SetSummaryString(self, data): 15059 r"""SetSummaryString(SBTypeSummary self, char const * data)""" 15060 return _lldb.SBTypeSummary_SetSummaryString(self, data) 15061 15062 def SetFunctionName(self, data): 15063 r"""SetFunctionName(SBTypeSummary self, char const * data)""" 15064 return _lldb.SBTypeSummary_SetFunctionName(self, data) 15065 15066 def SetFunctionCode(self, data): 15067 r"""SetFunctionCode(SBTypeSummary self, char const * data)""" 15068 return _lldb.SBTypeSummary_SetFunctionCode(self, data) 15069 15070 def GetOptions(self): 15071 r"""GetOptions(SBTypeSummary self) -> uint32_t""" 15072 return _lldb.SBTypeSummary_GetOptions(self) 15073 15074 def SetOptions(self, arg2): 15075 r"""SetOptions(SBTypeSummary self, uint32_t arg2)""" 15076 return _lldb.SBTypeSummary_SetOptions(self, arg2) 15077 15078 def GetDescription(self, description, description_level): 15079 r"""GetDescription(SBTypeSummary self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 15080 return _lldb.SBTypeSummary_GetDescription(self, description, description_level) 15081 15082 def DoesPrintValue(self, value): 15083 r"""DoesPrintValue(SBTypeSummary self, SBValue value) -> bool""" 15084 return _lldb.SBTypeSummary_DoesPrintValue(self, value) 15085 15086 def IsEqualTo(self, rhs): 15087 r"""IsEqualTo(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 15088 return _lldb.SBTypeSummary_IsEqualTo(self, rhs) 15089 15090 def __eq__(self, rhs): 15091 r"""__eq__(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 15092 return _lldb.SBTypeSummary___eq__(self, rhs) 15093 15094 def __ne__(self, rhs): 15095 r"""__ne__(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 15096 return _lldb.SBTypeSummary___ne__(self, rhs) 15097 15098 def __repr__(self): 15099 r"""__repr__(SBTypeSummary self) -> std::string""" 15100 return _lldb.SBTypeSummary___repr__(self) 15101 15102 # operator== is a free function, which swig does not handle, so we inject 15103 # our own equality operator here 15104 def __eq__(self, other): 15105 return not self.__ne__(other) 15106 15107 options = property(GetOptions, SetOptions) 15108 is_summary_string = property(IsSummaryString) 15109 is_function_name = property(IsFunctionName) 15110 is_function_name = property(IsFunctionCode) 15111 summary_data = property(GetData) 15112 15113 15114 def __eq__(self, rhs): 15115 if not isinstance(rhs, type(self)): 15116 return False 15117 15118 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 15119 15120 def __ne__(self, rhs): 15121 if not isinstance(rhs, type(self)): 15122 return True 15123 15124 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 15125 15126 15127# Register SBTypeSummary in _lldb: 15128_lldb.SBTypeSummary_swigregister(SBTypeSummary) 15129class SBTypeSynthetic(object): 15130 r"""Represents a summary that can be associated to one or more types.""" 15131 15132 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15133 15134 @staticmethod 15135 def CreateWithClassName(data, options=0): 15136 r"""CreateWithClassName(char const * data, uint32_t options=0) -> SBTypeSynthetic""" 15137 return _lldb.SBTypeSynthetic_CreateWithClassName(data, options) 15138 15139 @staticmethod 15140 def CreateWithScriptCode(data, options=0): 15141 r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSynthetic""" 15142 return _lldb.SBTypeSynthetic_CreateWithScriptCode(data, options) 15143 15144 def __init__(self, *args): 15145 r""" 15146 __init__(SBTypeSynthetic self) -> SBTypeSynthetic 15147 __init__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> SBTypeSynthetic 15148 """ 15149 _lldb.SBTypeSynthetic_swiginit(self, _lldb.new_SBTypeSynthetic(*args)) 15150 __swig_destroy__ = _lldb.delete_SBTypeSynthetic 15151 15152 def __nonzero__(self): 15153 return _lldb.SBTypeSynthetic___nonzero__(self) 15154 __bool__ = __nonzero__ 15155 15156 15157 15158 def IsValid(self): 15159 r"""IsValid(SBTypeSynthetic self) -> bool""" 15160 return _lldb.SBTypeSynthetic_IsValid(self) 15161 15162 def IsClassCode(self): 15163 r"""IsClassCode(SBTypeSynthetic self) -> bool""" 15164 return _lldb.SBTypeSynthetic_IsClassCode(self) 15165 15166 def IsClassName(self): 15167 r"""IsClassName(SBTypeSynthetic self) -> bool""" 15168 return _lldb.SBTypeSynthetic_IsClassName(self) 15169 15170 def GetData(self): 15171 r"""GetData(SBTypeSynthetic self) -> char const *""" 15172 return _lldb.SBTypeSynthetic_GetData(self) 15173 15174 def SetClassName(self, data): 15175 r"""SetClassName(SBTypeSynthetic self, char const * data)""" 15176 return _lldb.SBTypeSynthetic_SetClassName(self, data) 15177 15178 def SetClassCode(self, data): 15179 r"""SetClassCode(SBTypeSynthetic self, char const * data)""" 15180 return _lldb.SBTypeSynthetic_SetClassCode(self, data) 15181 15182 def GetOptions(self): 15183 r"""GetOptions(SBTypeSynthetic self) -> uint32_t""" 15184 return _lldb.SBTypeSynthetic_GetOptions(self) 15185 15186 def SetOptions(self, arg2): 15187 r"""SetOptions(SBTypeSynthetic self, uint32_t arg2)""" 15188 return _lldb.SBTypeSynthetic_SetOptions(self, arg2) 15189 15190 def GetDescription(self, description, description_level): 15191 r"""GetDescription(SBTypeSynthetic self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 15192 return _lldb.SBTypeSynthetic_GetDescription(self, description, description_level) 15193 15194 def IsEqualTo(self, rhs): 15195 r"""IsEqualTo(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 15196 return _lldb.SBTypeSynthetic_IsEqualTo(self, rhs) 15197 15198 def __eq__(self, rhs): 15199 r"""__eq__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 15200 return _lldb.SBTypeSynthetic___eq__(self, rhs) 15201 15202 def __ne__(self, rhs): 15203 r"""__ne__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 15204 return _lldb.SBTypeSynthetic___ne__(self, rhs) 15205 15206 def __repr__(self): 15207 r"""__repr__(SBTypeSynthetic self) -> std::string""" 15208 return _lldb.SBTypeSynthetic___repr__(self) 15209 15210 # operator== is a free function, which swig does not handle, so we inject 15211 # our own equality operator here 15212 def __eq__(self, other): 15213 return not self.__ne__(other) 15214 15215 options = property(GetOptions, SetOptions) 15216 contains_code = property(IsClassCode, None) 15217 synthetic_data = property(GetData, None) 15218 15219 15220 def __eq__(self, rhs): 15221 if not isinstance(rhs, type(self)): 15222 return False 15223 15224 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 15225 15226 def __ne__(self, rhs): 15227 if not isinstance(rhs, type(self)): 15228 return True 15229 15230 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 15231 15232 15233# Register SBTypeSynthetic in _lldb: 15234_lldb.SBTypeSynthetic_swigregister(SBTypeSynthetic) 15235class SBUnixSignals(object): 15236 r"""Allows you to manipulate LLDB's signal disposition""" 15237 15238 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15239 __repr__ = _swig_repr 15240 15241 def __init__(self, *args): 15242 r""" 15243 __init__(SBUnixSignals self) -> SBUnixSignals 15244 __init__(SBUnixSignals self, SBUnixSignals rhs) -> SBUnixSignals 15245 """ 15246 _lldb.SBUnixSignals_swiginit(self, _lldb.new_SBUnixSignals(*args)) 15247 __swig_destroy__ = _lldb.delete_SBUnixSignals 15248 15249 def Clear(self): 15250 r"""Clear(SBUnixSignals self)""" 15251 return _lldb.SBUnixSignals_Clear(self) 15252 15253 def __nonzero__(self): 15254 return _lldb.SBUnixSignals___nonzero__(self) 15255 __bool__ = __nonzero__ 15256 15257 15258 15259 def IsValid(self): 15260 r"""IsValid(SBUnixSignals self) -> bool""" 15261 return _lldb.SBUnixSignals_IsValid(self) 15262 15263 def GetSignalAsCString(self, signo): 15264 r"""GetSignalAsCString(SBUnixSignals self, int32_t signo) -> char const *""" 15265 return _lldb.SBUnixSignals_GetSignalAsCString(self, signo) 15266 15267 def GetSignalNumberFromName(self, name): 15268 r"""GetSignalNumberFromName(SBUnixSignals self, char const * name) -> int32_t""" 15269 return _lldb.SBUnixSignals_GetSignalNumberFromName(self, name) 15270 15271 def GetShouldSuppress(self, signo): 15272 r"""GetShouldSuppress(SBUnixSignals self, int32_t signo) -> bool""" 15273 return _lldb.SBUnixSignals_GetShouldSuppress(self, signo) 15274 15275 def SetShouldSuppress(self, signo, value): 15276 r"""SetShouldSuppress(SBUnixSignals self, int32_t signo, bool value) -> bool""" 15277 return _lldb.SBUnixSignals_SetShouldSuppress(self, signo, value) 15278 15279 def GetShouldStop(self, signo): 15280 r"""GetShouldStop(SBUnixSignals self, int32_t signo) -> bool""" 15281 return _lldb.SBUnixSignals_GetShouldStop(self, signo) 15282 15283 def SetShouldStop(self, signo, value): 15284 r"""SetShouldStop(SBUnixSignals self, int32_t signo, bool value) -> bool""" 15285 return _lldb.SBUnixSignals_SetShouldStop(self, signo, value) 15286 15287 def GetShouldNotify(self, signo): 15288 r"""GetShouldNotify(SBUnixSignals self, int32_t signo) -> bool""" 15289 return _lldb.SBUnixSignals_GetShouldNotify(self, signo) 15290 15291 def SetShouldNotify(self, signo, value): 15292 r"""SetShouldNotify(SBUnixSignals self, int32_t signo, bool value) -> bool""" 15293 return _lldb.SBUnixSignals_SetShouldNotify(self, signo, value) 15294 15295 def GetNumSignals(self): 15296 r"""GetNumSignals(SBUnixSignals self) -> int32_t""" 15297 return _lldb.SBUnixSignals_GetNumSignals(self) 15298 15299 def GetSignalAtIndex(self, index): 15300 r"""GetSignalAtIndex(SBUnixSignals self, int32_t index) -> int32_t""" 15301 return _lldb.SBUnixSignals_GetSignalAtIndex(self, index) 15302 15303 def __iter__(self): 15304 '''Iterate over all signals in a lldb.SBUnixSignals object.''' 15305 return lldb_iter(self, 'GetNumSignals', 'GetSignalAtIndex') 15306 15307 def __len__(self): 15308 return self.GetNumSignals() 15309 15310 def get_unix_signals_list(self): 15311 signals = [] 15312 for idx in range(0, self.GetNumSignals()): 15313 signals.append(self.GetSignalAtIndex(sig)) 15314 return signals 15315 15316 threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''') 15317 15318 15319# Register SBUnixSignals in _lldb: 15320_lldb.SBUnixSignals_swigregister(SBUnixSignals) 15321class SBValue(object): 15322 r""" 15323 Represents the value of a variable, a register, or an expression. 15324 15325 SBValue supports iteration through its child, which in turn is represented 15326 as an SBValue. For example, we can get the general purpose registers of a 15327 frame as an SBValue, and iterate through all the registers,:: 15328 15329 registerSet = frame.registers # Returns an SBValueList. 15330 for regs in registerSet: 15331 if 'general purpose registers' in regs.name.lower(): 15332 GPRs = regs 15333 break 15334 15335 print('%s (number of children = %d):' % (GPRs.name, GPRs.num_children)) 15336 for reg in GPRs: 15337 print('Name: ', reg.name, ' Value: ', reg.value) 15338 15339 produces the output: :: 15340 15341 General Purpose Registers (number of children = 21): 15342 Name: rax Value: 0x0000000100000c5c 15343 Name: rbx Value: 0x0000000000000000 15344 Name: rcx Value: 0x00007fff5fbffec0 15345 Name: rdx Value: 0x00007fff5fbffeb8 15346 Name: rdi Value: 0x0000000000000001 15347 Name: rsi Value: 0x00007fff5fbffea8 15348 Name: rbp Value: 0x00007fff5fbffe80 15349 Name: rsp Value: 0x00007fff5fbffe60 15350 Name: r8 Value: 0x0000000008668682 15351 Name: r9 Value: 0x0000000000000000 15352 Name: r10 Value: 0x0000000000001200 15353 Name: r11 Value: 0x0000000000000206 15354 Name: r12 Value: 0x0000000000000000 15355 Name: r13 Value: 0x0000000000000000 15356 Name: r14 Value: 0x0000000000000000 15357 Name: r15 Value: 0x0000000000000000 15358 Name: rip Value: 0x0000000100000dae 15359 Name: rflags Value: 0x0000000000000206 15360 Name: cs Value: 0x0000000000000027 15361 Name: fs Value: 0x0000000000000010 15362 Name: gs Value: 0x0000000000000048 15363 15364 See also linked_list_iter() for another perspective on how to iterate through an 15365 SBValue instance which interprets the value object as representing the head of a 15366 linked list. 15367 """ 15368 15369 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15370 15371 def __init__(self, *args): 15372 r""" 15373 __init__(SBValue self) -> SBValue 15374 __init__(SBValue self, SBValue rhs) -> SBValue 15375 """ 15376 _lldb.SBValue_swiginit(self, _lldb.new_SBValue(*args)) 15377 __swig_destroy__ = _lldb.delete_SBValue 15378 15379 def __nonzero__(self): 15380 return _lldb.SBValue___nonzero__(self) 15381 __bool__ = __nonzero__ 15382 15383 15384 15385 def IsValid(self): 15386 r"""IsValid(SBValue self) -> bool""" 15387 return _lldb.SBValue_IsValid(self) 15388 15389 def Clear(self): 15390 r"""Clear(SBValue self)""" 15391 return _lldb.SBValue_Clear(self) 15392 15393 def GetError(self): 15394 r"""GetError(SBValue self) -> SBError""" 15395 return _lldb.SBValue_GetError(self) 15396 15397 def GetID(self): 15398 r"""GetID(SBValue self) -> lldb::user_id_t""" 15399 return _lldb.SBValue_GetID(self) 15400 15401 def GetName(self): 15402 r"""GetName(SBValue self) -> char const *""" 15403 return _lldb.SBValue_GetName(self) 15404 15405 def GetTypeName(self): 15406 r"""GetTypeName(SBValue self) -> char const *""" 15407 return _lldb.SBValue_GetTypeName(self) 15408 15409 def GetDisplayTypeName(self): 15410 r"""GetDisplayTypeName(SBValue self) -> char const *""" 15411 return _lldb.SBValue_GetDisplayTypeName(self) 15412 15413 def GetByteSize(self): 15414 r"""GetByteSize(SBValue self) -> size_t""" 15415 return _lldb.SBValue_GetByteSize(self) 15416 15417 def IsInScope(self): 15418 r"""IsInScope(SBValue self) -> bool""" 15419 return _lldb.SBValue_IsInScope(self) 15420 15421 def GetFormat(self): 15422 r"""GetFormat(SBValue self) -> lldb::Format""" 15423 return _lldb.SBValue_GetFormat(self) 15424 15425 def SetFormat(self, format): 15426 r"""SetFormat(SBValue self, lldb::Format format)""" 15427 return _lldb.SBValue_SetFormat(self, format) 15428 15429 def GetValue(self): 15430 r"""GetValue(SBValue self) -> char const *""" 15431 return _lldb.SBValue_GetValue(self) 15432 15433 def GetValueAsSigned(self, *args): 15434 r""" 15435 GetValueAsSigned(SBValue self, SBError error, int64_t fail_value=0) -> int64_t 15436 GetValueAsSigned(SBValue self, int64_t fail_value=0) -> int64_t 15437 """ 15438 return _lldb.SBValue_GetValueAsSigned(self, *args) 15439 15440 def GetValueAsUnsigned(self, *args): 15441 r""" 15442 GetValueAsUnsigned(SBValue self, SBError error, uint64_t fail_value=0) -> uint64_t 15443 GetValueAsUnsigned(SBValue self, uint64_t fail_value=0) -> uint64_t 15444 """ 15445 return _lldb.SBValue_GetValueAsUnsigned(self, *args) 15446 15447 def GetValueAsAddress(self): 15448 r""" 15449 GetValueAsAddress(SBValue self) -> lldb::addr_t 15450 15451 Return the value as an address. On failure, LLDB_INVALID_ADDRESS 15452 will be returned. On architectures like AArch64, where the 15453 top (unaddressable) bits can be used for authentication, 15454 memory tagging, or top byte ignore, this method will return 15455 the value with those top bits cleared. 15456 15457 GetValueAsUnsigned returns the actual value, with the 15458 authentication/Top Byte Ignore/Memory Tagging Extension bits. 15459 15460 Calling this on a random value which is not a pointer is 15461 incorrect. Call GetType().IsPointerType() if in doubt. 15462 15463 An SB API program may want to show both the literal byte value 15464 and the address it refers to in memory. These two SBValue 15465 methods allow SB API writers to behave appropriately for their 15466 interface. 15467 """ 15468 return _lldb.SBValue_GetValueAsAddress(self) 15469 15470 def GetValueType(self): 15471 r"""GetValueType(SBValue self) -> lldb::ValueType""" 15472 return _lldb.SBValue_GetValueType(self) 15473 15474 def GetValueDidChange(self): 15475 r"""GetValueDidChange(SBValue self) -> bool""" 15476 return _lldb.SBValue_GetValueDidChange(self) 15477 15478 def GetSummary(self, *args): 15479 r""" 15480 GetSummary(SBValue self) -> char const 15481 GetSummary(SBValue self, SBStream stream, SBTypeSummaryOptions options) -> char const * 15482 """ 15483 return _lldb.SBValue_GetSummary(self, *args) 15484 15485 def GetObjectDescription(self): 15486 r"""GetObjectDescription(SBValue self) -> char const *""" 15487 return _lldb.SBValue_GetObjectDescription(self) 15488 15489 def GetDynamicValue(self, use_dynamic): 15490 r"""GetDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic) -> SBValue""" 15491 return _lldb.SBValue_GetDynamicValue(self, use_dynamic) 15492 15493 def GetStaticValue(self): 15494 r"""GetStaticValue(SBValue self) -> SBValue""" 15495 return _lldb.SBValue_GetStaticValue(self) 15496 15497 def GetNonSyntheticValue(self): 15498 r"""GetNonSyntheticValue(SBValue self) -> SBValue""" 15499 return _lldb.SBValue_GetNonSyntheticValue(self) 15500 15501 def GetSyntheticValue(self): 15502 r"""GetSyntheticValue(SBValue self) -> SBValue""" 15503 return _lldb.SBValue_GetSyntheticValue(self) 15504 15505 def GetPreferDynamicValue(self): 15506 r"""GetPreferDynamicValue(SBValue self) -> lldb::DynamicValueType""" 15507 return _lldb.SBValue_GetPreferDynamicValue(self) 15508 15509 def SetPreferDynamicValue(self, use_dynamic): 15510 r"""SetPreferDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic)""" 15511 return _lldb.SBValue_SetPreferDynamicValue(self, use_dynamic) 15512 15513 def GetPreferSyntheticValue(self): 15514 r"""GetPreferSyntheticValue(SBValue self) -> bool""" 15515 return _lldb.SBValue_GetPreferSyntheticValue(self) 15516 15517 def SetPreferSyntheticValue(self, use_synthetic): 15518 r"""SetPreferSyntheticValue(SBValue self, bool use_synthetic)""" 15519 return _lldb.SBValue_SetPreferSyntheticValue(self, use_synthetic) 15520 15521 def IsDynamic(self): 15522 r"""IsDynamic(SBValue self) -> bool""" 15523 return _lldb.SBValue_IsDynamic(self) 15524 15525 def IsSynthetic(self): 15526 r"""IsSynthetic(SBValue self) -> bool""" 15527 return _lldb.SBValue_IsSynthetic(self) 15528 15529 def IsSyntheticChildrenGenerated(self): 15530 r"""IsSyntheticChildrenGenerated(SBValue self) -> bool""" 15531 return _lldb.SBValue_IsSyntheticChildrenGenerated(self) 15532 15533 def SetSyntheticChildrenGenerated(self, arg2): 15534 r"""SetSyntheticChildrenGenerated(SBValue self, bool arg2)""" 15535 return _lldb.SBValue_SetSyntheticChildrenGenerated(self, arg2) 15536 15537 def GetLocation(self): 15538 r"""GetLocation(SBValue self) -> char const *""" 15539 return _lldb.SBValue_GetLocation(self) 15540 15541 def SetValueFromCString(self, *args): 15542 r""" 15543 SetValueFromCString(SBValue self, char const * value_str) -> bool 15544 SetValueFromCString(SBValue self, char const * value_str, SBError error) -> bool 15545 """ 15546 return _lldb.SBValue_SetValueFromCString(self, *args) 15547 15548 def GetTypeFormat(self): 15549 r"""GetTypeFormat(SBValue self) -> SBTypeFormat""" 15550 return _lldb.SBValue_GetTypeFormat(self) 15551 15552 def GetTypeSummary(self): 15553 r"""GetTypeSummary(SBValue self) -> SBTypeSummary""" 15554 return _lldb.SBValue_GetTypeSummary(self) 15555 15556 def GetTypeFilter(self): 15557 r"""GetTypeFilter(SBValue self) -> SBTypeFilter""" 15558 return _lldb.SBValue_GetTypeFilter(self) 15559 15560 def GetTypeSynthetic(self): 15561 r"""GetTypeSynthetic(SBValue self) -> SBTypeSynthetic""" 15562 return _lldb.SBValue_GetTypeSynthetic(self) 15563 15564 def CreateChildAtOffset(self, name, offset, type): 15565 r"""CreateChildAtOffset(SBValue self, char const * name, uint32_t offset, SBType type) -> SBValue""" 15566 return _lldb.SBValue_CreateChildAtOffset(self, name, offset, type) 15567 15568 def Cast(self, type): 15569 r"""Cast(SBValue self, SBType type) -> SBValue""" 15570 return _lldb.SBValue_Cast(self, type) 15571 15572 def CreateValueFromExpression(self, *args): 15573 r""" 15574 CreateValueFromExpression(SBValue self, char const * name, char const * expression) -> SBValue 15575 CreateValueFromExpression(SBValue self, char const * name, char const * expression, SBExpressionOptions options) -> SBValue 15576 """ 15577 return _lldb.SBValue_CreateValueFromExpression(self, *args) 15578 15579 def CreateValueFromAddress(self, name, address, type): 15580 r"""CreateValueFromAddress(SBValue self, char const * name, lldb::addr_t address, SBType type) -> SBValue""" 15581 return _lldb.SBValue_CreateValueFromAddress(self, name, address, type) 15582 15583 def CreateValueFromData(self, name, data, type): 15584 r"""CreateValueFromData(SBValue self, char const * name, SBData data, SBType type) -> SBValue""" 15585 return _lldb.SBValue_CreateValueFromData(self, name, data, type) 15586 15587 def GetChildAtIndex(self, *args): 15588 r""" 15589 GetChildAtIndex(SBValue self, uint32_t idx) -> SBValue 15590 GetChildAtIndex(SBValue self, uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic) -> SBValue 15591 15592 Get a child value by index from a value. 15593 15594 Structs, unions, classes, arrays and pointers have child 15595 values that can be access by index. 15596 15597 Structs and unions access child members using a zero based index 15598 for each child member. For 15599 15600 Classes reserve the first indexes for base classes that have 15601 members (empty base classes are omitted), and all members of the 15602 current class will then follow the base classes. 15603 15604 Pointers differ depending on what they point to. If the pointer 15605 points to a simple type, the child at index zero 15606 is the only child value available, unless synthetic_allowed 15607 is true, in which case the pointer will be used as an array 15608 and can create 'synthetic' child values using positive or 15609 negative indexes. If the pointer points to an aggregate type 15610 (an array, class, union, struct), then the pointee is 15611 transparently skipped and any children are going to be the indexes 15612 of the child values within the aggregate type. For example if 15613 we have a 'Point' type and we have a SBValue that contains a 15614 pointer to a 'Point' type, then the child at index zero will be 15615 the 'x' member, and the child at index 1 will be the 'y' member 15616 (the child at index zero won't be a 'Point' instance). 15617 15618 If you actually need an SBValue that represents the type pointed 15619 to by a SBValue for which GetType().IsPointeeType() returns true, 15620 regardless of the pointee type, you can do that with the SBValue.Dereference 15621 method (or the equivalent deref property). 15622 15623 Arrays have a preset number of children that can be accessed by 15624 index and will returns invalid child values for indexes that are 15625 out of bounds unless the synthetic_allowed is true. In this 15626 case the array can create 'synthetic' child values for indexes 15627 that aren't in the array bounds using positive or negative 15628 indexes. 15629 15630 @param[in] idx 15631 The index of the child value to get 15632 15633 @param[in] use_dynamic 15634 An enumeration that specifies whether to get dynamic values, 15635 and also if the target can be run to figure out the dynamic 15636 type of the child value. 15637 15638 @param[in] synthetic_allowed 15639 If true, then allow child values to be created by index 15640 for pointers and arrays for indexes that normally wouldn't 15641 be allowed. 15642 15643 @return 15644 A new SBValue object that represents the child member value. 15645 """ 15646 return _lldb.SBValue_GetChildAtIndex(self, *args) 15647 15648 def GetIndexOfChildWithName(self, name): 15649 r""" 15650 GetIndexOfChildWithName(SBValue self, char const * name) -> uint32_t 15651 15652 Returns the child member index. 15653 15654 Matches children of this object only and will match base classes and 15655 member names if this is a clang typed object. 15656 15657 @param[in] name 15658 The name of the child value to get 15659 15660 @return 15661 An index to the child member value. 15662 """ 15663 return _lldb.SBValue_GetIndexOfChildWithName(self, name) 15664 15665 def GetChildMemberWithName(self, *args): 15666 r""" 15667 GetChildMemberWithName(SBValue self, char const * name) -> SBValue 15668 GetChildMemberWithName(SBValue self, char const * name, lldb::DynamicValueType use_dynamic) -> SBValue 15669 15670 Returns the child member value. 15671 15672 Matches child members of this object and child members of any base 15673 classes. 15674 15675 @param[in] name 15676 The name of the child value to get 15677 15678 @param[in] use_dynamic 15679 An enumeration that specifies whether to get dynamic values, 15680 and also if the target can be run to figure out the dynamic 15681 type of the child value. 15682 15683 @return 15684 A new SBValue object that represents the child member value. 15685 """ 15686 return _lldb.SBValue_GetChildMemberWithName(self, *args) 15687 15688 def GetValueForExpressionPath(self, expr_path): 15689 r""" 15690 GetValueForExpressionPath(SBValue self, char const * expr_path) -> SBValue 15691 Expands nested expressions like .a->b[0].c[1]->d. 15692 """ 15693 return _lldb.SBValue_GetValueForExpressionPath(self, expr_path) 15694 15695 def AddressOf(self): 15696 r"""AddressOf(SBValue self) -> SBValue""" 15697 return _lldb.SBValue_AddressOf(self) 15698 15699 def GetLoadAddress(self): 15700 r"""GetLoadAddress(SBValue self) -> lldb::addr_t""" 15701 return _lldb.SBValue_GetLoadAddress(self) 15702 15703 def GetAddress(self): 15704 r"""GetAddress(SBValue self) -> SBAddress""" 15705 return _lldb.SBValue_GetAddress(self) 15706 15707 def GetPointeeData(self, item_idx=0, item_count=1): 15708 r""" 15709 GetPointeeData(SBValue self, uint32_t item_idx=0, uint32_t item_count=1) -> SBData 15710 15711 Get an SBData wrapping what this SBValue points to. 15712 15713 This method will dereference the current SBValue, if its 15714 data type is a ``T\*`` or ``T[]``, and extract ``item_count`` elements 15715 of type ``T`` from it, copying their contents in an :py:class:`SBData`. 15716 15717 :param item_idx: The index of the first item to retrieve. For an array 15718 this is equivalent to array[item_idx], for a pointer 15719 to ``\*(pointer + item_idx)``. In either case, the measurement 15720 unit for item_idx is the ``sizeof(T)`` rather than the byte 15721 :param item_count: How many items should be copied into the output. By default 15722 only one item is copied, but more can be asked for. 15723 :return: The contents of the copied items on success. An empty :py:class:`SBData` otherwise. 15724 :rtype: SBData 15725 15726 """ 15727 return _lldb.SBValue_GetPointeeData(self, item_idx, item_count) 15728 15729 def GetData(self): 15730 r""" 15731 GetData(SBValue self) -> SBData 15732 15733 Get an SBData wrapping the contents of this SBValue. 15734 15735 This method will read the contents of this object in memory 15736 and copy them into an SBData for future use. 15737 15738 @return 15739 An SBData with the contents of this SBValue, on success. 15740 An empty SBData otherwise. 15741 """ 15742 return _lldb.SBValue_GetData(self) 15743 15744 def SetData(self, data, error): 15745 r"""SetData(SBValue self, SBData data, SBError error) -> bool""" 15746 return _lldb.SBValue_SetData(self, data, error) 15747 15748 def Clone(self, new_name): 15749 r"""Clone(SBValue self, char const * new_name) -> SBValue""" 15750 return _lldb.SBValue_Clone(self, new_name) 15751 15752 def GetDeclaration(self): 15753 r"""GetDeclaration(SBValue self) -> SBDeclaration""" 15754 return _lldb.SBValue_GetDeclaration(self) 15755 15756 def MightHaveChildren(self): 15757 r"""MightHaveChildren(SBValue self) -> bool""" 15758 return _lldb.SBValue_MightHaveChildren(self) 15759 15760 def IsRuntimeSupportValue(self): 15761 r"""IsRuntimeSupportValue(SBValue self) -> bool""" 15762 return _lldb.SBValue_IsRuntimeSupportValue(self) 15763 15764 def GetNumChildren(self, *args): 15765 r""" 15766 GetNumChildren(SBValue self) -> uint32_t 15767 GetNumChildren(SBValue self, uint32_t max) -> uint32_t 15768 """ 15769 return _lldb.SBValue_GetNumChildren(self, *args) 15770 15771 def GetOpaqueType(self): 15772 r"""GetOpaqueType(SBValue self) -> void *""" 15773 return _lldb.SBValue_GetOpaqueType(self) 15774 15775 def GetTarget(self): 15776 r"""GetTarget(SBValue self) -> SBTarget""" 15777 return _lldb.SBValue_GetTarget(self) 15778 15779 def GetProcess(self): 15780 r"""GetProcess(SBValue self) -> SBProcess""" 15781 return _lldb.SBValue_GetProcess(self) 15782 15783 def GetThread(self): 15784 r"""GetThread(SBValue self) -> SBThread""" 15785 return _lldb.SBValue_GetThread(self) 15786 15787 def GetFrame(self): 15788 r"""GetFrame(SBValue self) -> SBFrame""" 15789 return _lldb.SBValue_GetFrame(self) 15790 15791 def Dereference(self): 15792 r"""Dereference(SBValue self) -> SBValue""" 15793 return _lldb.SBValue_Dereference(self) 15794 15795 def TypeIsPointerType(self): 15796 r"""TypeIsPointerType(SBValue self) -> bool""" 15797 return _lldb.SBValue_TypeIsPointerType(self) 15798 15799 def GetType(self): 15800 r"""GetType(SBValue self) -> SBType""" 15801 return _lldb.SBValue_GetType(self) 15802 15803 def Persist(self): 15804 r"""Persist(SBValue self) -> SBValue""" 15805 return _lldb.SBValue_Persist(self) 15806 15807 def GetDescription(self, description): 15808 r"""GetDescription(SBValue self, SBStream description) -> bool""" 15809 return _lldb.SBValue_GetDescription(self, description) 15810 15811 def GetExpressionPath(self, *args): 15812 r""" 15813 GetExpressionPath(SBValue self, SBStream description) -> bool 15814 GetExpressionPath(SBValue self, SBStream description, bool qualify_cxx_base_classes) -> bool 15815 Returns an expression path for this value. 15816 """ 15817 return _lldb.SBValue_GetExpressionPath(self, *args) 15818 15819 def EvaluateExpression(self, *args): 15820 r""" 15821 EvaluateExpression(SBValue self, char const * expr) -> SBValue 15822 EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options) -> SBValue 15823 EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options, char const * name) -> SBValue 15824 """ 15825 return _lldb.SBValue_EvaluateExpression(self, *args) 15826 15827 def Watch(self, *args): 15828 r""" 15829 Watch(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint 15830 Watch(SBValue self, bool resolve_location, bool read, bool write) -> SBWatchpoint 15831 15832 Find and watch a variable. 15833 It returns an SBWatchpoint, which may be invalid. 15834 """ 15835 return _lldb.SBValue_Watch(self, *args) 15836 15837 def WatchPointee(self, resolve_location, read, write, error): 15838 r""" 15839 WatchPointee(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint 15840 15841 Find and watch the location pointed to by a variable. 15842 It returns an SBWatchpoint, which may be invalid. 15843 """ 15844 return _lldb.SBValue_WatchPointee(self, resolve_location, read, write, error) 15845 15846 def GetVTable(self): 15847 r"""GetVTable(SBValue self) -> SBValue""" 15848 return _lldb.SBValue_GetVTable(self) 15849 15850 def __repr__(self): 15851 r"""__repr__(SBValue self) -> std::string""" 15852 return _lldb.SBValue___repr__(self) 15853 15854 def __get_dynamic__ (self): 15855 '''Helper function for the "SBValue.dynamic" property.''' 15856 return self.GetDynamicValue (eDynamicCanRunTarget) 15857 15858 class children_access(object): 15859 '''A helper object that will lazily hand out thread for a process when supplied an index.''' 15860 15861 def __init__(self, sbvalue): 15862 self.sbvalue = sbvalue 15863 15864 def __len__(self): 15865 if self.sbvalue: 15866 return int(self.sbvalue.GetNumChildren()) 15867 return 0 15868 15869 def __getitem__(self, key): 15870 if isinstance(key, int): 15871 count = len(self) 15872 if -count <= key < count: 15873 key %= count 15874 return self.sbvalue.GetChildAtIndex(key) 15875 return None 15876 15877 def get_child_access_object(self): 15878 '''An accessor function that returns a children_access() object which allows lazy member variable access from a lldb.SBValue object.''' 15879 return self.children_access (self) 15880 15881 def get_value_child_list(self): 15882 '''An accessor function that returns a list() that contains all children in a lldb.SBValue object.''' 15883 children = [] 15884 accessor = self.get_child_access_object() 15885 for idx in range(len(accessor)): 15886 children.append(accessor[idx]) 15887 return children 15888 15889 def __hex__(self): 15890 return self.GetAddress() 15891 15892 def __iter__(self): 15893 '''Iterate over all child values of a lldb.SBValue object.''' 15894 return lldb_iter(self, 'GetNumChildren', 'GetChildAtIndex') 15895 15896 def __len__(self): 15897 '''Return the number of child values of a lldb.SBValue object.''' 15898 return self.GetNumChildren() 15899 15900 children = property(get_value_child_list, None, doc='''A read only property that returns a list() of lldb.SBValue objects for the children of the value.''') 15901 child = property(get_child_access_object, None, doc='''A read only property that returns an object that can access children of a variable by index (child_value = value.children[12]).''') 15902 name = property(GetName, None, doc='''A read only property that returns the name of this value as a string.''') 15903 type = property(GetType, None, doc='''A read only property that returns a lldb.SBType object that represents the type for this value.''') 15904 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this value.''') 15905 is_in_scope = property(IsInScope, None, doc='''A read only property that returns a boolean value that indicates whether this value is currently lexically in scope.''') 15906 format = property(GetName, SetFormat, doc='''A read/write property that gets/sets the format used for lldb.SBValue().GetValue() for this value. See enumerations that start with "lldb.eFormat".''') 15907 value = property(GetValue, SetValueFromCString, doc='''A read/write property that gets/sets value from a string.''') 15908 value_type = property(GetValueType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eValueType") that represents the type of this value (local, argument, global, register, etc.).''') 15909 changed = property(GetValueDidChange, None, doc='''A read only property that returns a boolean value that indicates if this value has changed since it was last updated.''') 15910 data = property(GetData, None, doc='''A read only property that returns an lldb object (lldb.SBData) that represents the bytes that make up the value for this object.''') 15911 load_addr = property(GetLoadAddress, None, doc='''A read only property that returns the load address of this value as an integer.''') 15912 addr = property(GetAddress, None, doc='''A read only property that returns an lldb.SBAddress that represents the address of this value if it is in memory.''') 15913 deref = property(Dereference, None, doc='''A read only property that returns an lldb.SBValue that is created by dereferencing this value.''') 15914 address_of = property(AddressOf, None, doc='''A read only property that returns an lldb.SBValue that represents the address-of this value.''') 15915 error = property(GetError, None, doc='''A read only property that returns the lldb.SBError that represents the error from the last time the variable value was calculated.''') 15916 summary = property(GetSummary, None, doc='''A read only property that returns the summary for this value as a string''') 15917 description = property(GetObjectDescription, None, doc='''A read only property that returns the language-specific description of this value as a string''') 15918 dynamic = property(__get_dynamic__, None, doc='''A read only property that returns an lldb.SBValue that is created by finding the dynamic type of this value.''') 15919 location = property(GetLocation, None, doc='''A read only property that returns the location of this value as a string.''') 15920 target = property(GetTarget, None, doc='''A read only property that returns the lldb.SBTarget that this value is associated with.''') 15921 process = property(GetProcess, None, doc='''A read only property that returns the lldb.SBProcess that this value is associated with, the returned value might be invalid and should be tested.''') 15922 thread = property(GetThread, None, doc='''A read only property that returns the lldb.SBThread that this value is associated with, the returned value might be invalid and should be tested.''') 15923 frame = property(GetFrame, None, doc='''A read only property that returns the lldb.SBFrame that this value is associated with, the returned value might be invalid and should be tested.''') 15924 num_children = property(GetNumChildren, None, doc='''A read only property that returns the number of child lldb.SBValues that this value has.''') 15925 unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this SBValue as an usigned integer.''') 15926 signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this SBValue as a signed integer.''') 15927 15928 def get_expr_path(self): 15929 s = SBStream() 15930 self.GetExpressionPath (s) 15931 return s.GetData() 15932 15933 path = property(get_expr_path, None, doc='''A read only property that returns the expression path that one can use to reach this value in an expression.''') 15934 15935 def synthetic_child_from_expression(self, name, expr, options=None): 15936 if options is None: options = lldb.SBExpressionOptions() 15937 child = self.CreateValueFromExpression(name, expr, options) 15938 child.SetSyntheticChildrenGenerated(True) 15939 return child 15940 15941 def synthetic_child_from_data(self, name, data, type): 15942 child = self.CreateValueFromData(name, data, type) 15943 child.SetSyntheticChildrenGenerated(True) 15944 return child 15945 15946 def synthetic_child_from_address(self, name, addr, type): 15947 child = self.CreateValueFromAddress(name, addr, type) 15948 child.SetSyntheticChildrenGenerated(True) 15949 return child 15950 15951 def __eol_test(val): 15952 """Default function for end of list test takes an SBValue object. 15953 15954 Return True if val is invalid or it corresponds to a null pointer. 15955 Otherwise, return False. 15956 """ 15957 if not val or val.GetValueAsUnsigned() == 0: 15958 return True 15959 else: 15960 return False 15961 15962 # ================================================== 15963 # Iterator for lldb.SBValue treated as a linked list 15964 # ================================================== 15965 def linked_list_iter(self, next_item_name, end_of_list_test=__eol_test): 15966 """Generator adaptor to support iteration for SBValue as a linked list. 15967 15968 linked_list_iter() is a special purpose iterator to treat the SBValue as 15969 the head of a list data structure, where you specify the child member 15970 name which points to the next item on the list and you specify the 15971 end-of-list test function which takes an SBValue for an item and returns 15972 True if EOL is reached and False if not. 15973 15974 linked_list_iter() also detects infinite loop and bails out early. 15975 15976 The end_of_list_test arg, if omitted, defaults to the __eol_test 15977 function above. 15978 15979 For example, 15980 15981 # Get Frame #0. 15982 ... 15983 15984 # Get variable 'task_head'. 15985 task_head = frame0.FindVariable('task_head') 15986 ... 15987 15988 for t in task_head.linked_list_iter('next'): 15989 print t 15990 """ 15991 if end_of_list_test(self): 15992 return 15993 item = self 15994 visited = set() 15995 try: 15996 while not end_of_list_test(item) and not item.GetValueAsUnsigned() in visited: 15997 visited.add(item.GetValueAsUnsigned()) 15998 yield item 15999 # Prepare for the next iteration. 16000 item = item.GetChildMemberWithName(next_item_name) 16001 except: 16002 # Exception occurred. Stop the generator. 16003 pass 16004 16005 return 16006 16007 16008# Register SBValue in _lldb: 16009_lldb.SBValue_swigregister(SBValue) 16010class SBValueList(object): 16011 r""" 16012 Represents a collection of SBValues. Both :py:class:`SBFrame.GetVariables()` and 16013 :py:class:`SBFrame.GetRegisters()` return a SBValueList. 16014 16015 SBValueList supports :py:class:`SBValue` iteration. For example (from test/lldbutil.py),:: 16016 16017 def get_registers(frame, kind): 16018 '''Returns the registers given the frame and the kind of registers desired. 16019 16020 Returns None if there's no such kind. 16021 ''' 16022 registerSet = frame.GetRegisters() # Return type of SBValueList. 16023 for value in registerSet: 16024 if kind.lower() in value.GetName().lower(): 16025 return value 16026 16027 return None 16028 16029 def get_GPRs(frame): 16030 '''Returns the general purpose registers of the frame as an SBValue. 16031 16032 The returned SBValue object is iterable. An example: 16033 ... 16034 from lldbutil import get_GPRs 16035 regs = get_GPRs(frame) 16036 for reg in regs: 16037 print('%s => %s' % (reg.GetName(), reg.GetValue())) 16038 ... 16039 ''' 16040 return get_registers(frame, 'general purpose') 16041 16042 def get_FPRs(frame): 16043 '''Returns the floating point registers of the frame as an SBValue. 16044 16045 The returned SBValue object is iterable. An example: 16046 ... 16047 from lldbutil import get_FPRs 16048 regs = get_FPRs(frame) 16049 for reg in regs: 16050 print('%s => %s' % (reg.GetName(), reg.GetValue())) 16051 ... 16052 ''' 16053 return get_registers(frame, 'floating point') 16054 16055 def get_ESRs(frame): 16056 '''Returns the exception state registers of the frame as an SBValue. 16057 16058 The returned SBValue object is iterable. An example: 16059 ... 16060 from lldbutil import get_ESRs 16061 regs = get_ESRs(frame) 16062 for reg in regs: 16063 print('%s => %s' % (reg.GetName(), reg.GetValue())) 16064 ... 16065 ''' 16066 return get_registers(frame, 'exception state') 16067 16068 """ 16069 16070 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 16071 __repr__ = _swig_repr 16072 16073 def __init__(self, *args): 16074 r""" 16075 __init__(SBValueList self) -> SBValueList 16076 __init__(SBValueList self, SBValueList rhs) -> SBValueList 16077 """ 16078 _lldb.SBValueList_swiginit(self, _lldb.new_SBValueList(*args)) 16079 __swig_destroy__ = _lldb.delete_SBValueList 16080 16081 def __nonzero__(self): 16082 return _lldb.SBValueList___nonzero__(self) 16083 __bool__ = __nonzero__ 16084 16085 16086 16087 def IsValid(self): 16088 r"""IsValid(SBValueList self) -> bool""" 16089 return _lldb.SBValueList_IsValid(self) 16090 16091 def Clear(self): 16092 r"""Clear(SBValueList self)""" 16093 return _lldb.SBValueList_Clear(self) 16094 16095 def Append(self, *args): 16096 r""" 16097 Append(SBValueList self, SBValue val_obj) 16098 Append(SBValueList self, SBValueList value_list) 16099 """ 16100 return _lldb.SBValueList_Append(self, *args) 16101 16102 def GetSize(self): 16103 r"""GetSize(SBValueList self) -> uint32_t""" 16104 return _lldb.SBValueList_GetSize(self) 16105 16106 def GetValueAtIndex(self, idx): 16107 r"""GetValueAtIndex(SBValueList self, uint32_t idx) -> SBValue""" 16108 return _lldb.SBValueList_GetValueAtIndex(self, idx) 16109 16110 def GetFirstValueByName(self, name): 16111 r"""GetFirstValueByName(SBValueList self, char const * name) -> SBValue""" 16112 return _lldb.SBValueList_GetFirstValueByName(self, name) 16113 16114 def FindValueObjectByUID(self, uid): 16115 r"""FindValueObjectByUID(SBValueList self, lldb::user_id_t uid) -> SBValue""" 16116 return _lldb.SBValueList_FindValueObjectByUID(self, uid) 16117 16118 def GetError(self): 16119 r"""GetError(SBValueList self) -> SBError""" 16120 return _lldb.SBValueList_GetError(self) 16121 16122 def __str__(self): 16123 r"""__str__(SBValueList self) -> std::string""" 16124 return _lldb.SBValueList___str__(self) 16125 16126 def __iter__(self): 16127 '''Iterate over all values in a lldb.SBValueList object.''' 16128 return lldb_iter(self, 'GetSize', 'GetValueAtIndex') 16129 16130 def __len__(self): 16131 return int(self.GetSize()) 16132 16133 def __getitem__(self, key): 16134 count = len(self) 16135 #------------------------------------------------------------ 16136 # Access with "int" to get Nth item in the list 16137 #------------------------------------------------------------ 16138 if type(key) is int: 16139 if -count <= key < count: 16140 key %= count 16141 return self.GetValueAtIndex(key) 16142 #------------------------------------------------------------ 16143 # Access with "str" to get values by name 16144 #------------------------------------------------------------ 16145 elif type(key) is str: 16146 matches = [] 16147 for idx in range(count): 16148 value = self.GetValueAtIndex(idx) 16149 if value.name == key: 16150 matches.append(value) 16151 return matches 16152 #------------------------------------------------------------ 16153 # Match with regex 16154 #------------------------------------------------------------ 16155 elif isinstance(key, type(re.compile('.'))): 16156 matches = [] 16157 for idx in range(count): 16158 value = self.GetValueAtIndex(idx) 16159 re_match = key.search(value.name) 16160 if re_match: 16161 matches.append(value) 16162 return matches 16163 16164 16165 16166# Register SBValueList in _lldb: 16167_lldb.SBValueList_swigregister(SBValueList) 16168class SBVariablesOptions(object): 16169 r"""Describes which variables should be returned from :py:class:`SBFrame.GetVariables`.""" 16170 16171 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 16172 __repr__ = _swig_repr 16173 16174 def __init__(self, *args): 16175 r""" 16176 __init__(SBVariablesOptions self) -> SBVariablesOptions 16177 __init__(SBVariablesOptions self, SBVariablesOptions options) -> SBVariablesOptions 16178 """ 16179 _lldb.SBVariablesOptions_swiginit(self, _lldb.new_SBVariablesOptions(*args)) 16180 __swig_destroy__ = _lldb.delete_SBVariablesOptions 16181 16182 def __nonzero__(self): 16183 return _lldb.SBVariablesOptions___nonzero__(self) 16184 __bool__ = __nonzero__ 16185 16186 16187 16188 def IsValid(self): 16189 r"""IsValid(SBVariablesOptions self) -> bool""" 16190 return _lldb.SBVariablesOptions_IsValid(self) 16191 16192 def GetIncludeArguments(self): 16193 r"""GetIncludeArguments(SBVariablesOptions self) -> bool""" 16194 return _lldb.SBVariablesOptions_GetIncludeArguments(self) 16195 16196 def SetIncludeArguments(self, arg2): 16197 r"""SetIncludeArguments(SBVariablesOptions self, bool arg2)""" 16198 return _lldb.SBVariablesOptions_SetIncludeArguments(self, arg2) 16199 16200 def GetIncludeRecognizedArguments(self, arg2): 16201 r"""GetIncludeRecognizedArguments(SBVariablesOptions self, SBTarget arg2) -> bool""" 16202 return _lldb.SBVariablesOptions_GetIncludeRecognizedArguments(self, arg2) 16203 16204 def SetIncludeRecognizedArguments(self, arg2): 16205 r"""SetIncludeRecognizedArguments(SBVariablesOptions self, bool arg2)""" 16206 return _lldb.SBVariablesOptions_SetIncludeRecognizedArguments(self, arg2) 16207 16208 def GetIncludeLocals(self): 16209 r"""GetIncludeLocals(SBVariablesOptions self) -> bool""" 16210 return _lldb.SBVariablesOptions_GetIncludeLocals(self) 16211 16212 def SetIncludeLocals(self, arg2): 16213 r"""SetIncludeLocals(SBVariablesOptions self, bool arg2)""" 16214 return _lldb.SBVariablesOptions_SetIncludeLocals(self, arg2) 16215 16216 def GetIncludeStatics(self): 16217 r"""GetIncludeStatics(SBVariablesOptions self) -> bool""" 16218 return _lldb.SBVariablesOptions_GetIncludeStatics(self) 16219 16220 def SetIncludeStatics(self, arg2): 16221 r"""SetIncludeStatics(SBVariablesOptions self, bool arg2)""" 16222 return _lldb.SBVariablesOptions_SetIncludeStatics(self, arg2) 16223 16224 def GetInScopeOnly(self): 16225 r"""GetInScopeOnly(SBVariablesOptions self) -> bool""" 16226 return _lldb.SBVariablesOptions_GetInScopeOnly(self) 16227 16228 def SetInScopeOnly(self, arg2): 16229 r"""SetInScopeOnly(SBVariablesOptions self, bool arg2)""" 16230 return _lldb.SBVariablesOptions_SetInScopeOnly(self, arg2) 16231 16232 def GetIncludeRuntimeSupportValues(self): 16233 r"""GetIncludeRuntimeSupportValues(SBVariablesOptions self) -> bool""" 16234 return _lldb.SBVariablesOptions_GetIncludeRuntimeSupportValues(self) 16235 16236 def SetIncludeRuntimeSupportValues(self, arg2): 16237 r"""SetIncludeRuntimeSupportValues(SBVariablesOptions self, bool arg2)""" 16238 return _lldb.SBVariablesOptions_SetIncludeRuntimeSupportValues(self, arg2) 16239 16240 def GetUseDynamic(self): 16241 r"""GetUseDynamic(SBVariablesOptions self) -> lldb::DynamicValueType""" 16242 return _lldb.SBVariablesOptions_GetUseDynamic(self) 16243 16244 def SetUseDynamic(self, arg2): 16245 r"""SetUseDynamic(SBVariablesOptions self, lldb::DynamicValueType arg2)""" 16246 return _lldb.SBVariablesOptions_SetUseDynamic(self, arg2) 16247 16248# Register SBVariablesOptions in _lldb: 16249_lldb.SBVariablesOptions_swigregister(SBVariablesOptions) 16250class SBWatchpoint(object): 16251 r""" 16252 Represents an instance of watchpoint for a specific target program. 16253 16254 A watchpoint is determined by the address and the byte size that resulted in 16255 this particular instantiation. Each watchpoint has its settable options. 16256 16257 See also :py:class:`SBTarget.watchpoint_iter()` for example usage of iterating through the 16258 watchpoints of the target. 16259 """ 16260 16261 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 16262 16263 def __init__(self, *args): 16264 r""" 16265 __init__(SBWatchpoint self) -> SBWatchpoint 16266 __init__(SBWatchpoint self, SBWatchpoint rhs) -> SBWatchpoint 16267 """ 16268 _lldb.SBWatchpoint_swiginit(self, _lldb.new_SBWatchpoint(*args)) 16269 __swig_destroy__ = _lldb.delete_SBWatchpoint 16270 16271 def __nonzero__(self): 16272 return _lldb.SBWatchpoint___nonzero__(self) 16273 __bool__ = __nonzero__ 16274 16275 16276 16277 def __eq__(self, rhs): 16278 r"""__eq__(SBWatchpoint self, SBWatchpoint rhs) -> bool""" 16279 return _lldb.SBWatchpoint___eq__(self, rhs) 16280 16281 def __ne__(self, rhs): 16282 r"""__ne__(SBWatchpoint self, SBWatchpoint rhs) -> bool""" 16283 return _lldb.SBWatchpoint___ne__(self, rhs) 16284 16285 def IsValid(self): 16286 r"""IsValid(SBWatchpoint self) -> bool""" 16287 return _lldb.SBWatchpoint_IsValid(self) 16288 16289 def GetError(self): 16290 r"""GetError(SBWatchpoint self) -> SBError""" 16291 return _lldb.SBWatchpoint_GetError(self) 16292 16293 def GetID(self): 16294 r"""GetID(SBWatchpoint self) -> lldb::watch_id_t""" 16295 return _lldb.SBWatchpoint_GetID(self) 16296 16297 def GetHardwareIndex(self): 16298 r""" 16299 GetHardwareIndex(SBWatchpoint self) -> int32_t 16300 16301 Deprecated. Previously: Return the hardware index of the 16302 watchpoint register. Now: -1 is always returned. 16303 """ 16304 return _lldb.SBWatchpoint_GetHardwareIndex(self) 16305 16306 def GetWatchAddress(self): 16307 r"""GetWatchAddress(SBWatchpoint self) -> lldb::addr_t""" 16308 return _lldb.SBWatchpoint_GetWatchAddress(self) 16309 16310 def GetWatchSize(self): 16311 r"""GetWatchSize(SBWatchpoint self) -> size_t""" 16312 return _lldb.SBWatchpoint_GetWatchSize(self) 16313 16314 def SetEnabled(self, enabled): 16315 r"""SetEnabled(SBWatchpoint self, bool enabled)""" 16316 return _lldb.SBWatchpoint_SetEnabled(self, enabled) 16317 16318 def IsEnabled(self): 16319 r"""IsEnabled(SBWatchpoint self) -> bool""" 16320 return _lldb.SBWatchpoint_IsEnabled(self) 16321 16322 def GetHitCount(self): 16323 r"""GetHitCount(SBWatchpoint self) -> uint32_t""" 16324 return _lldb.SBWatchpoint_GetHitCount(self) 16325 16326 def GetIgnoreCount(self): 16327 r"""GetIgnoreCount(SBWatchpoint self) -> uint32_t""" 16328 return _lldb.SBWatchpoint_GetIgnoreCount(self) 16329 16330 def SetIgnoreCount(self, n): 16331 r"""SetIgnoreCount(SBWatchpoint self, uint32_t n)""" 16332 return _lldb.SBWatchpoint_SetIgnoreCount(self, n) 16333 16334 def GetCondition(self): 16335 r""" 16336 GetCondition(SBWatchpoint self) -> char const * 16337 16338 Get the condition expression for the watchpoint. 16339 """ 16340 return _lldb.SBWatchpoint_GetCondition(self) 16341 16342 def SetCondition(self, condition): 16343 r""" 16344 SetCondition(SBWatchpoint self, char const * condition) 16345 16346 The watchpoint stops only if the condition expression evaluates to true. 16347 """ 16348 return _lldb.SBWatchpoint_SetCondition(self, condition) 16349 16350 def GetDescription(self, description, level): 16351 r"""GetDescription(SBWatchpoint self, SBStream description, lldb::DescriptionLevel level) -> bool""" 16352 return _lldb.SBWatchpoint_GetDescription(self, description, level) 16353 16354 def Clear(self): 16355 r"""Clear(SBWatchpoint self)""" 16356 return _lldb.SBWatchpoint_Clear(self) 16357 16358 @staticmethod 16359 def EventIsWatchpointEvent(event): 16360 r"""EventIsWatchpointEvent(SBEvent event) -> bool""" 16361 return _lldb.SBWatchpoint_EventIsWatchpointEvent(event) 16362 16363 @staticmethod 16364 def GetWatchpointEventTypeFromEvent(event): 16365 r"""GetWatchpointEventTypeFromEvent(SBEvent event) -> lldb::WatchpointEventType""" 16366 return _lldb.SBWatchpoint_GetWatchpointEventTypeFromEvent(event) 16367 16368 @staticmethod 16369 def GetWatchpointFromEvent(event): 16370 r"""GetWatchpointFromEvent(SBEvent event) -> SBWatchpoint""" 16371 return _lldb.SBWatchpoint_GetWatchpointFromEvent(event) 16372 16373 def GetType(self): 16374 r""" 16375 GetType(SBWatchpoint self) -> SBType 16376 16377 Returns the type recorded when the watchpoint was created. For variable 16378 watchpoints it is the type of the watched variable. For expression 16379 watchpoints it is the type of the provided expression. 16380 """ 16381 return _lldb.SBWatchpoint_GetType(self) 16382 16383 def GetWatchValueKind(self): 16384 r""" 16385 GetWatchValueKind(SBWatchpoint self) -> lldb::WatchpointValueKind 16386 16387 Returns the kind of value that was watched when the watchpoint was created. 16388 Returns one of the following eWatchPointValueKindVariable, 16389 eWatchPointValueKindExpression, eWatchPointValueKindInvalid. 16390 16391 """ 16392 return _lldb.SBWatchpoint_GetWatchValueKind(self) 16393 16394 def GetWatchSpec(self): 16395 r""" 16396 GetWatchSpec(SBWatchpoint self) -> char const * 16397 16398 Get the spec for the watchpoint. For variable watchpoints this is the name 16399 of the variable. For expression watchpoints it is empty 16400 (may change in the future). 16401 """ 16402 return _lldb.SBWatchpoint_GetWatchSpec(self) 16403 16404 def IsWatchingReads(self): 16405 r""" 16406 IsWatchingReads(SBWatchpoint self) -> bool 16407 16408 Returns true if the watchpoint is watching reads. Returns false otherwise. 16409 """ 16410 return _lldb.SBWatchpoint_IsWatchingReads(self) 16411 16412 def IsWatchingWrites(self): 16413 r""" 16414 IsWatchingWrites(SBWatchpoint self) -> bool 16415 16416 Returns true if the watchpoint is watching writes. Returns false otherwise. 16417 """ 16418 return _lldb.SBWatchpoint_IsWatchingWrites(self) 16419 16420 def __repr__(self): 16421 r"""__repr__(SBWatchpoint self) -> std::string""" 16422 return _lldb.SBWatchpoint___repr__(self) 16423 16424 # operator== is a free function, which swig does not handle, so we inject 16425 # our own equality operator here 16426 def __eq__(self, other): 16427 return not self.__ne__(other) 16428 16429 def __hex__(self): 16430 return self.GetWatchAddress() 16431 16432 def __len__(self): 16433 return self.GetWatchSize() 16434 16435 16436# Register SBWatchpoint in _lldb: 16437_lldb.SBWatchpoint_swigregister(SBWatchpoint) 16438class SBWatchpointOptions(object): 16439 r"""A container for options to use when creating watchpoints.""" 16440 16441 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 16442 __repr__ = _swig_repr 16443 16444 def __init__(self, *args): 16445 r""" 16446 __init__(SBWatchpointOptions self) -> SBWatchpointOptions 16447 __init__(SBWatchpointOptions self, SBWatchpointOptions rhs) -> SBWatchpointOptions 16448 """ 16449 _lldb.SBWatchpointOptions_swiginit(self, _lldb.new_SBWatchpointOptions(*args)) 16450 __swig_destroy__ = _lldb.delete_SBWatchpointOptions 16451 16452 def SetWatchpointTypeRead(self, read): 16453 r""" 16454 SetWatchpointTypeRead(SBWatchpointOptions self, bool read) 16455 Sets whether the watchpoint should stop on read accesses. 16456 """ 16457 return _lldb.SBWatchpointOptions_SetWatchpointTypeRead(self, read) 16458 16459 def GetWatchpointTypeRead(self): 16460 r""" 16461 GetWatchpointTypeRead(SBWatchpointOptions self) -> bool 16462 Gets whether the watchpoint should stop on read accesses. 16463 """ 16464 return _lldb.SBWatchpointOptions_GetWatchpointTypeRead(self) 16465 16466 def SetWatchpointTypeWrite(self, write_type): 16467 r""" 16468 SetWatchpointTypeWrite(SBWatchpointOptions self, lldb::WatchpointWriteType write_type) 16469 Sets whether the watchpoint should stop on write accesses. eWatchpointWriteTypeOnModify is the most commonly useful mode, where lldb will stop when the watched value has changed. eWatchpointWriteTypeAlways will stop on any write to the watched region, even if it's the value is the same. 16470 """ 16471 return _lldb.SBWatchpointOptions_SetWatchpointTypeWrite(self, write_type) 16472 16473 def GetWatchpointTypeWrite(self): 16474 r""" 16475 GetWatchpointTypeWrite(SBWatchpointOptions self) -> lldb::WatchpointWriteType 16476 Gets whether the watchpoint should stop on write accesses, returning WatchpointWriteType to indicate the type of write watching that is enabled, or eWatchpointWriteTypeDisabled. 16477 """ 16478 return _lldb.SBWatchpointOptions_GetWatchpointTypeWrite(self) 16479 16480# Register SBWatchpointOptions in _lldb: 16481_lldb.SBWatchpointOptions_swigregister(SBWatchpointOptions) 16482 16483# ================================== 16484# Helper function for SBModule class 16485# ================================== 16486def in_range(symbol, section): 16487 """Test whether a symbol is within the range of a section.""" 16488 symSA = symbol.GetStartAddress().GetFileAddress() 16489 symEA = symbol.GetEndAddress().GetFileAddress() 16490 secSA = section.GetFileAddress() 16491 secEA = secSA + section.GetByteSize() 16492 16493 if symEA != LLDB_INVALID_ADDRESS: 16494 if secSA <= symSA and symEA <= secEA: 16495 return True 16496 else: 16497 return False 16498 else: 16499 if secSA <= symSA and symSA < secEA: 16500 return True 16501 else: 16502 return False 16503 16504 16505 16506def command(command_name=None, doc=None): 16507 import lldb 16508 """A decorator function that registers an LLDB command line 16509 command that is bound to the function it is attached to.""" 16510 def callable(function): 16511 """Registers an lldb command for the decorated function.""" 16512 command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name or function.__name__) 16513 lldb.debugger.HandleCommand(command) 16514 if doc: 16515 function.__doc__ = doc 16516 return function 16517 16518 return callable 16519 16520class declaration(object): 16521 '''A class that represents a source declaration location with file, line and column.''' 16522 def __init__(self, file, line, col): 16523 self.file = file 16524 self.line = line 16525 self.col = col 16526 16527class value_iter(object): 16528 '''Allows iterating over the children of an :py:class:`SBValue`.''' 16529 def __iter__(self): 16530 return self 16531 16532 def __next__(self): 16533 if self.index >= self.length: 16534 raise StopIteration() 16535 child_sbvalue = self.sbvalue.GetChildAtIndex(self.index) 16536 self.index += 1 16537 return value(child_sbvalue) 16538 16539 def next(self): 16540 return self.__next__() 16541 16542 def __eq__(self, other): 16543 return not self.__ne__(other) 16544 16545 def __len__(self): 16546 return self.length 16547 16548 def __init__(self,value): 16549 self.index = 0 16550 self.length = 0 16551 self.sbvalue = value 16552 if type(self.sbvalue) is value: 16553 self.sbvalue = self.sbvalue.sbvalue 16554 self.length = self.sbvalue.GetNumChildren() 16555 16556class value(object): 16557 '''Wraps :py:class:`SBValue` objects so the resulting object can be used as a variable would be in code. 16558 16559 So if you have a Point structure variable in your code in the current frame named "pt", 16560 you can initialize an instance of this class with it: :: 16561 16562 pt = lldb.value(lldb.frame.FindVariable("pt")) 16563 print pt 16564 print pt.x 16565 print pt.y 16566 16567 pt = lldb.value(lldb.frame.FindVariable("rectangle_array")) 16568 print rectangle_array[12] 16569 print rectangle_array[5].origin.x''' 16570 def __init__(self, sbvalue): 16571 self.sbvalue = sbvalue 16572 16573 def __nonzero__(self): 16574 return self.sbvalue.__nonzero__() 16575 16576 def __bool__(self): 16577 return self.sbvalue.__bool__() 16578 16579 def __str__(self): 16580 return self.sbvalue.__str__() 16581 16582 def __getitem__(self, key): 16583# Allow array access if this value has children... 16584 if type(key) is value: 16585 key = int(key) 16586 if type(key) is int: 16587 child_sbvalue = (self.sbvalue.GetValueForExpressionPath("[%i]" % key)) 16588 if child_sbvalue and child_sbvalue.IsValid(): 16589 return value(child_sbvalue) 16590 raise IndexError("Index '%d' is out of range" % key) 16591 raise TypeError("No array item of type %s" % str(type(key))) 16592 16593 def __iter__(self): 16594 return value_iter(self.sbvalue) 16595 16596 def __getattr__(self, name): 16597 child_sbvalue = self.sbvalue.GetChildMemberWithName (name) 16598 if child_sbvalue and child_sbvalue.IsValid(): 16599 return value(child_sbvalue) 16600 raise AttributeError("Attribute '%s' is not defined" % name) 16601 16602 def __add__(self, other): 16603 return int(self) + int(other) 16604 16605 def __sub__(self, other): 16606 return int(self) - int(other) 16607 16608 def __mul__(self, other): 16609 return int(self) * int(other) 16610 16611 def __floordiv__(self, other): 16612 return int(self) // int(other) 16613 16614 def __mod__(self, other): 16615 return int(self) % int(other) 16616 16617 def __divmod__(self, other): 16618 return int(self) % int(other) 16619 16620 def __pow__(self, other): 16621 return int(self) ** int(other) 16622 16623 def __lshift__(self, other): 16624 return int(self) << int(other) 16625 16626 def __rshift__(self, other): 16627 return int(self) >> int(other) 16628 16629 def __and__(self, other): 16630 return int(self) & int(other) 16631 16632 def __xor__(self, other): 16633 return int(self) ^ int(other) 16634 16635 def __or__(self, other): 16636 return int(self) | int(other) 16637 16638 def __div__(self, other): 16639 return int(self) / int(other) 16640 16641 def __truediv__(self, other): 16642 return int(self) / int(other) 16643 16644 def __iadd__(self, other): 16645 result = self.__add__(other) 16646 self.sbvalue.SetValueFromCString (str(result)) 16647 return result 16648 16649 def __isub__(self, other): 16650 result = self.__sub__(other) 16651 self.sbvalue.SetValueFromCString (str(result)) 16652 return result 16653 16654 def __imul__(self, other): 16655 result = self.__mul__(other) 16656 self.sbvalue.SetValueFromCString (str(result)) 16657 return result 16658 16659 def __idiv__(self, other): 16660 result = self.__div__(other) 16661 self.sbvalue.SetValueFromCString (str(result)) 16662 return result 16663 16664 def __itruediv__(self, other): 16665 result = self.__truediv__(other) 16666 self.sbvalue.SetValueFromCString (str(result)) 16667 return result 16668 16669 def __ifloordiv__(self, other): 16670 result = self.__floordiv__(self, other) 16671 self.sbvalue.SetValueFromCString (str(result)) 16672 return result 16673 16674 def __imod__(self, other): 16675 result = self.__and__(self, other) 16676 self.sbvalue.SetValueFromCString (str(result)) 16677 return result 16678 16679 def __ipow__(self, other): 16680 result = self.__pow__(self, other) 16681 self.sbvalue.SetValueFromCString (str(result)) 16682 return result 16683 16684 def __ipow__(self, other, modulo): 16685 result = self.__pow__(self, other, modulo) 16686 self.sbvalue.SetValueFromCString (str(result)) 16687 return result 16688 16689 def __ilshift__(self, other): 16690 result = self.__lshift__(other) 16691 self.sbvalue.SetValueFromCString (str(result)) 16692 return result 16693 16694 def __irshift__(self, other): 16695 result = self.__rshift__(other) 16696 self.sbvalue.SetValueFromCString (str(result)) 16697 return result 16698 16699 def __iand__(self, other): 16700 result = self.__and__(self, other) 16701 self.sbvalue.SetValueFromCString (str(result)) 16702 return result 16703 16704 def __ixor__(self, other): 16705 result = self.__xor__(self, other) 16706 self.sbvalue.SetValueFromCString (str(result)) 16707 return result 16708 16709 def __ior__(self, other): 16710 result = self.__ior__(self, other) 16711 self.sbvalue.SetValueFromCString (str(result)) 16712 return result 16713 16714 def __neg__(self): 16715 return -int(self) 16716 16717 def __pos__(self): 16718 return +int(self) 16719 16720 def __abs__(self): 16721 return abs(int(self)) 16722 16723 def __invert__(self): 16724 return ~int(self) 16725 16726 def __complex__(self): 16727 return complex (int(self)) 16728 16729 def __int__(self): 16730 is_num,is_sign = is_numeric_type(self.sbvalue.GetType().GetCanonicalType().GetBasicType()) 16731 if is_num and not is_sign: return self.sbvalue.GetValueAsUnsigned() 16732 return self.sbvalue.GetValueAsSigned() 16733 16734 def __long__(self): 16735 return self.__int__() 16736 16737 def __float__(self): 16738 return float (self.sbvalue.GetValueAsSigned()) 16739 16740 def __oct__(self): 16741 return '0%o' % self.sbvalue.GetValueAsUnsigned() 16742 16743 def __hex__(self): 16744 return '0x%x' % self.sbvalue.GetValueAsUnsigned() 16745 16746 def __len__(self): 16747 return self.sbvalue.GetNumChildren() 16748 16749 def __eq__(self, other): 16750 if type(other) is int: 16751 return int(self) == other 16752 elif type(other) is str: 16753 return str(self) == other 16754 elif type(other) is value: 16755 self_err = SBError() 16756 other_err = SBError() 16757 self_val = self.sbvalue.GetValueAsUnsigned(self_err) 16758 if self_err.fail: 16759 raise ValueError("unable to extract value of self") 16760 other_val = other.sbvalue.GetValueAsUnsigned(other_err) 16761 if other_err.fail: 16762 raise ValueError("unable to extract value of other") 16763 return self_val == other_val 16764 raise TypeError("Unknown type %s, No equality operation defined." % str(type(other))) 16765 16766 def __ne__(self, other): 16767 return not self.__eq__(other) 16768 16769 16770 16771class SBSyntheticValueProvider(object): 16772 def __init__(self,valobj): 16773 pass 16774 16775 def num_children(self): 16776 return 0 16777 16778 def get_child_index(self,name): 16779 return None 16780 16781 def get_child_at_index(self,idx): 16782 return None 16783 16784 def update(self): 16785 pass 16786 16787 def has_children(self): 16788 return False 16789 16790 def __len__(self): 16791 return self.num_children() 16792 16793 def __iter__(self): 16794 '''Iterate over all children in a lldb.SBSyntheticValueProvider object.''' 16795 return lldb_iter(self, 'num_children', 'get_child_at_index') 16796 16797 16798 16799 16800# given an lldb.SBBasicType it returns a tuple 16801# (is_numeric, is_signed) 16802# the value of is_signed is undefined if is_numeric == false 16803def is_numeric_type(basic_type): 16804 if basic_type == eBasicTypeInvalid: return (False,False) 16805 if basic_type == eBasicTypeVoid: return (False,False) 16806 if basic_type == eBasicTypeChar: return (True,False) 16807 if basic_type == eBasicTypeSignedChar: return (True,True) 16808 if basic_type == eBasicTypeUnsignedChar: return (True,False) 16809 if basic_type == eBasicTypeWChar: return (True,False) 16810 if basic_type == eBasicTypeSignedWChar: return (True,True) 16811 if basic_type == eBasicTypeUnsignedWChar: return (True,False) 16812 if basic_type == eBasicTypeChar16: return (True,False) 16813 if basic_type == eBasicTypeChar32: return (True,False) 16814 if basic_type == eBasicTypeChar8: return (True,False) 16815 if basic_type == eBasicTypeShort: return (True,True) 16816 if basic_type == eBasicTypeUnsignedShort: return (True,False) 16817 if basic_type == eBasicTypeInt: return (True,True) 16818 if basic_type == eBasicTypeUnsignedInt: return (True,False) 16819 if basic_type == eBasicTypeLong: return (True,True) 16820 if basic_type == eBasicTypeUnsignedLong: return (True,False) 16821 if basic_type == eBasicTypeLongLong: return (True,True) 16822 if basic_type == eBasicTypeUnsignedLongLong: return (True,False) 16823 if basic_type == eBasicTypeInt128: return (True,True) 16824 if basic_type == eBasicTypeUnsignedInt128: return (True,False) 16825 if basic_type == eBasicTypeBool: return (False,False) 16826 if basic_type == eBasicTypeHalf: return (True,True) 16827 if basic_type == eBasicTypeFloat: return (True,True) 16828 if basic_type == eBasicTypeDouble: return (True,True) 16829 if basic_type == eBasicTypeLongDouble: return (True,True) 16830 if basic_type == eBasicTypeFloatComplex: return (True,True) 16831 if basic_type == eBasicTypeDoubleComplex: return (True,True) 16832 if basic_type == eBasicTypeLongDoubleComplex: return (True,True) 16833 if basic_type == eBasicTypeObjCID: return (False,False) 16834 if basic_type == eBasicTypeObjCClass: return (False,False) 16835 if basic_type == eBasicTypeObjCSel: return (False,False) 16836 if basic_type == eBasicTypeNullPtr: return (False,False) 16837#if basic_type == eBasicTypeOther: 16838 return (False,False) 16839 16840 16841 16842debugger_unique_id = 0 16843SBDebugger.Initialize() 16844debugger = None 16845target = None 16846process = None 16847thread = None 16848frame = None 16849 16850 16851