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 466eReturnStatusInvalid = _lldb.eReturnStatusInvalid 467 468eReturnStatusSuccessFinishNoResult = _lldb.eReturnStatusSuccessFinishNoResult 469 470eReturnStatusSuccessFinishResult = _lldb.eReturnStatusSuccessFinishResult 471 472eReturnStatusSuccessContinuingNoResult = _lldb.eReturnStatusSuccessContinuingNoResult 473 474eReturnStatusSuccessContinuingResult = _lldb.eReturnStatusSuccessContinuingResult 475 476eReturnStatusStarted = _lldb.eReturnStatusStarted 477 478eReturnStatusFailed = _lldb.eReturnStatusFailed 479 480eReturnStatusQuit = _lldb.eReturnStatusQuit 481 482eExpressionCompleted = _lldb.eExpressionCompleted 483 484eExpressionSetupError = _lldb.eExpressionSetupError 485 486eExpressionParseError = _lldb.eExpressionParseError 487 488eExpressionDiscarded = _lldb.eExpressionDiscarded 489 490eExpressionInterrupted = _lldb.eExpressionInterrupted 491 492eExpressionHitBreakpoint = _lldb.eExpressionHitBreakpoint 493 494eExpressionTimedOut = _lldb.eExpressionTimedOut 495 496eExpressionResultUnavailable = _lldb.eExpressionResultUnavailable 497 498eExpressionStoppedForDebug = _lldb.eExpressionStoppedForDebug 499 500eExpressionThreadVanished = _lldb.eExpressionThreadVanished 501 502eSearchDepthInvalid = _lldb.eSearchDepthInvalid 503 504eSearchDepthTarget = _lldb.eSearchDepthTarget 505 506eSearchDepthModule = _lldb.eSearchDepthModule 507 508eSearchDepthCompUnit = _lldb.eSearchDepthCompUnit 509 510eSearchDepthFunction = _lldb.eSearchDepthFunction 511 512eSearchDepthBlock = _lldb.eSearchDepthBlock 513 514eSearchDepthAddress = _lldb.eSearchDepthAddress 515 516kLastSearchDepthKind = _lldb.kLastSearchDepthKind 517 518eConnectionStatusSuccess = _lldb.eConnectionStatusSuccess 519 520eConnectionStatusEndOfFile = _lldb.eConnectionStatusEndOfFile 521 522eConnectionStatusError = _lldb.eConnectionStatusError 523 524eConnectionStatusTimedOut = _lldb.eConnectionStatusTimedOut 525 526eConnectionStatusNoConnection = _lldb.eConnectionStatusNoConnection 527 528eConnectionStatusLostConnection = _lldb.eConnectionStatusLostConnection 529 530eConnectionStatusInterrupted = _lldb.eConnectionStatusInterrupted 531 532eErrorTypeInvalid = _lldb.eErrorTypeInvalid 533 534eErrorTypeGeneric = _lldb.eErrorTypeGeneric 535 536eErrorTypeMachKernel = _lldb.eErrorTypeMachKernel 537 538eErrorTypePOSIX = _lldb.eErrorTypePOSIX 539 540eErrorTypeExpression = _lldb.eErrorTypeExpression 541 542eErrorTypeWin32 = _lldb.eErrorTypeWin32 543 544eValueTypeInvalid = _lldb.eValueTypeInvalid 545 546eValueTypeVariableGlobal = _lldb.eValueTypeVariableGlobal 547 548eValueTypeVariableStatic = _lldb.eValueTypeVariableStatic 549 550eValueTypeVariableArgument = _lldb.eValueTypeVariableArgument 551 552eValueTypeVariableLocal = _lldb.eValueTypeVariableLocal 553 554eValueTypeRegister = _lldb.eValueTypeRegister 555 556eValueTypeRegisterSet = _lldb.eValueTypeRegisterSet 557 558eValueTypeConstResult = _lldb.eValueTypeConstResult 559 560eValueTypeVariableThreadLocal = _lldb.eValueTypeVariableThreadLocal 561 562eValueTypeVTable = _lldb.eValueTypeVTable 563 564eValueTypeVTableEntry = _lldb.eValueTypeVTableEntry 565 566eInputReaderGranularityInvalid = _lldb.eInputReaderGranularityInvalid 567 568eInputReaderGranularityByte = _lldb.eInputReaderGranularityByte 569 570eInputReaderGranularityWord = _lldb.eInputReaderGranularityWord 571 572eInputReaderGranularityLine = _lldb.eInputReaderGranularityLine 573 574eInputReaderGranularityAll = _lldb.eInputReaderGranularityAll 575 576eSymbolContextTarget = _lldb.eSymbolContextTarget 577 578eSymbolContextModule = _lldb.eSymbolContextModule 579 580eSymbolContextCompUnit = _lldb.eSymbolContextCompUnit 581 582eSymbolContextFunction = _lldb.eSymbolContextFunction 583 584eSymbolContextBlock = _lldb.eSymbolContextBlock 585 586eSymbolContextLineEntry = _lldb.eSymbolContextLineEntry 587 588eSymbolContextSymbol = _lldb.eSymbolContextSymbol 589 590eSymbolContextEverything = _lldb.eSymbolContextEverything 591 592eSymbolContextVariable = _lldb.eSymbolContextVariable 593 594eSymbolContextLastItem = _lldb.eSymbolContextLastItem 595 596ePermissionsWritable = _lldb.ePermissionsWritable 597 598ePermissionsReadable = _lldb.ePermissionsReadable 599 600ePermissionsExecutable = _lldb.ePermissionsExecutable 601 602eInputReaderActivate = _lldb.eInputReaderActivate 603 604eInputReaderAsynchronousOutputWritten = _lldb.eInputReaderAsynchronousOutputWritten 605 606eInputReaderReactivate = _lldb.eInputReaderReactivate 607 608eInputReaderDeactivate = _lldb.eInputReaderDeactivate 609 610eInputReaderGotToken = _lldb.eInputReaderGotToken 611 612eInputReaderInterrupt = _lldb.eInputReaderInterrupt 613 614eInputReaderEndOfFile = _lldb.eInputReaderEndOfFile 615 616eInputReaderDone = _lldb.eInputReaderDone 617 618eBreakpointEventTypeInvalidType = _lldb.eBreakpointEventTypeInvalidType 619 620eBreakpointEventTypeAdded = _lldb.eBreakpointEventTypeAdded 621 622eBreakpointEventTypeRemoved = _lldb.eBreakpointEventTypeRemoved 623 624eBreakpointEventTypeLocationsAdded = _lldb.eBreakpointEventTypeLocationsAdded 625 626eBreakpointEventTypeLocationsRemoved = _lldb.eBreakpointEventTypeLocationsRemoved 627 628eBreakpointEventTypeLocationsResolved = _lldb.eBreakpointEventTypeLocationsResolved 629 630eBreakpointEventTypeEnabled = _lldb.eBreakpointEventTypeEnabled 631 632eBreakpointEventTypeDisabled = _lldb.eBreakpointEventTypeDisabled 633 634eBreakpointEventTypeCommandChanged = _lldb.eBreakpointEventTypeCommandChanged 635 636eBreakpointEventTypeConditionChanged = _lldb.eBreakpointEventTypeConditionChanged 637 638eBreakpointEventTypeIgnoreChanged = _lldb.eBreakpointEventTypeIgnoreChanged 639 640eBreakpointEventTypeThreadChanged = _lldb.eBreakpointEventTypeThreadChanged 641 642eBreakpointEventTypeAutoContinueChanged = _lldb.eBreakpointEventTypeAutoContinueChanged 643 644eWatchpointEventTypeInvalidType = _lldb.eWatchpointEventTypeInvalidType 645 646eWatchpointEventTypeAdded = _lldb.eWatchpointEventTypeAdded 647 648eWatchpointEventTypeRemoved = _lldb.eWatchpointEventTypeRemoved 649 650eWatchpointEventTypeEnabled = _lldb.eWatchpointEventTypeEnabled 651 652eWatchpointEventTypeDisabled = _lldb.eWatchpointEventTypeDisabled 653 654eWatchpointEventTypeCommandChanged = _lldb.eWatchpointEventTypeCommandChanged 655 656eWatchpointEventTypeConditionChanged = _lldb.eWatchpointEventTypeConditionChanged 657 658eWatchpointEventTypeIgnoreChanged = _lldb.eWatchpointEventTypeIgnoreChanged 659 660eWatchpointEventTypeThreadChanged = _lldb.eWatchpointEventTypeThreadChanged 661 662eWatchpointEventTypeTypeChanged = _lldb.eWatchpointEventTypeTypeChanged 663 664eWatchpointWriteTypeDisabled = _lldb.eWatchpointWriteTypeDisabled 665 666eWatchpointWriteTypeAlways = _lldb.eWatchpointWriteTypeAlways 667 668eWatchpointWriteTypeOnModify = _lldb.eWatchpointWriteTypeOnModify 669 670eLanguageTypeUnknown = _lldb.eLanguageTypeUnknown 671 672eLanguageTypeC89 = _lldb.eLanguageTypeC89 673 674eLanguageTypeC = _lldb.eLanguageTypeC 675 676eLanguageTypeAda83 = _lldb.eLanguageTypeAda83 677 678eLanguageTypeC_plus_plus = _lldb.eLanguageTypeC_plus_plus 679 680eLanguageTypeCobol74 = _lldb.eLanguageTypeCobol74 681 682eLanguageTypeCobol85 = _lldb.eLanguageTypeCobol85 683 684eLanguageTypeFortran77 = _lldb.eLanguageTypeFortran77 685 686eLanguageTypeFortran90 = _lldb.eLanguageTypeFortran90 687 688eLanguageTypePascal83 = _lldb.eLanguageTypePascal83 689 690eLanguageTypeModula2 = _lldb.eLanguageTypeModula2 691 692eLanguageTypeJava = _lldb.eLanguageTypeJava 693 694eLanguageTypeC99 = _lldb.eLanguageTypeC99 695 696eLanguageTypeAda95 = _lldb.eLanguageTypeAda95 697 698eLanguageTypeFortran95 = _lldb.eLanguageTypeFortran95 699 700eLanguageTypePLI = _lldb.eLanguageTypePLI 701 702eLanguageTypeObjC = _lldb.eLanguageTypeObjC 703 704eLanguageTypeObjC_plus_plus = _lldb.eLanguageTypeObjC_plus_plus 705 706eLanguageTypeUPC = _lldb.eLanguageTypeUPC 707 708eLanguageTypeD = _lldb.eLanguageTypeD 709 710eLanguageTypePython = _lldb.eLanguageTypePython 711 712eLanguageTypeOpenCL = _lldb.eLanguageTypeOpenCL 713 714eLanguageTypeGo = _lldb.eLanguageTypeGo 715 716eLanguageTypeModula3 = _lldb.eLanguageTypeModula3 717 718eLanguageTypeHaskell = _lldb.eLanguageTypeHaskell 719 720eLanguageTypeC_plus_plus_03 = _lldb.eLanguageTypeC_plus_plus_03 721 722eLanguageTypeC_plus_plus_11 = _lldb.eLanguageTypeC_plus_plus_11 723 724eLanguageTypeOCaml = _lldb.eLanguageTypeOCaml 725 726eLanguageTypeRust = _lldb.eLanguageTypeRust 727 728eLanguageTypeC11 = _lldb.eLanguageTypeC11 729 730eLanguageTypeSwift = _lldb.eLanguageTypeSwift 731 732eLanguageTypeJulia = _lldb.eLanguageTypeJulia 733 734eLanguageTypeDylan = _lldb.eLanguageTypeDylan 735 736eLanguageTypeC_plus_plus_14 = _lldb.eLanguageTypeC_plus_plus_14 737 738eLanguageTypeFortran03 = _lldb.eLanguageTypeFortran03 739 740eLanguageTypeFortran08 = _lldb.eLanguageTypeFortran08 741 742eLanguageTypeRenderScript = _lldb.eLanguageTypeRenderScript 743 744eLanguageTypeBLISS = _lldb.eLanguageTypeBLISS 745 746eLanguageTypeKotlin = _lldb.eLanguageTypeKotlin 747 748eLanguageTypeZig = _lldb.eLanguageTypeZig 749 750eLanguageTypeCrystal = _lldb.eLanguageTypeCrystal 751 752eLanguageTypeC_plus_plus_17 = _lldb.eLanguageTypeC_plus_plus_17 753 754eLanguageTypeC_plus_plus_20 = _lldb.eLanguageTypeC_plus_plus_20 755 756eLanguageTypeC17 = _lldb.eLanguageTypeC17 757 758eLanguageTypeFortran18 = _lldb.eLanguageTypeFortran18 759 760eLanguageTypeAda2005 = _lldb.eLanguageTypeAda2005 761 762eLanguageTypeAda2012 = _lldb.eLanguageTypeAda2012 763 764eLanguageTypeHIP = _lldb.eLanguageTypeHIP 765 766eLanguageTypeAssembly = _lldb.eLanguageTypeAssembly 767 768eLanguageTypeC_sharp = _lldb.eLanguageTypeC_sharp 769 770eLanguageTypeMojo = _lldb.eLanguageTypeMojo 771 772eLanguageTypeMipsAssembler = _lldb.eLanguageTypeMipsAssembler 773 774eNumLanguageTypes = _lldb.eNumLanguageTypes 775 776eInstrumentationRuntimeTypeAddressSanitizer = _lldb.eInstrumentationRuntimeTypeAddressSanitizer 777 778eInstrumentationRuntimeTypeThreadSanitizer = _lldb.eInstrumentationRuntimeTypeThreadSanitizer 779 780eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer = _lldb.eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer 781 782eInstrumentationRuntimeTypeMainThreadChecker = _lldb.eInstrumentationRuntimeTypeMainThreadChecker 783 784eInstrumentationRuntimeTypeSwiftRuntimeReporting = _lldb.eInstrumentationRuntimeTypeSwiftRuntimeReporting 785 786eInstrumentationRuntimeTypeLibsanitizersAsan = _lldb.eInstrumentationRuntimeTypeLibsanitizersAsan 787 788eNumInstrumentationRuntimeTypes = _lldb.eNumInstrumentationRuntimeTypes 789 790eNoDynamicValues = _lldb.eNoDynamicValues 791 792eDynamicCanRunTarget = _lldb.eDynamicCanRunTarget 793 794eDynamicDontRunTarget = _lldb.eDynamicDontRunTarget 795 796eStopShowColumnAnsiOrCaret = _lldb.eStopShowColumnAnsiOrCaret 797 798eStopShowColumnAnsi = _lldb.eStopShowColumnAnsi 799 800eStopShowColumnCaret = _lldb.eStopShowColumnCaret 801 802eStopShowColumnNone = _lldb.eStopShowColumnNone 803 804eAccessNone = _lldb.eAccessNone 805 806eAccessPublic = _lldb.eAccessPublic 807 808eAccessPrivate = _lldb.eAccessPrivate 809 810eAccessProtected = _lldb.eAccessProtected 811 812eAccessPackage = _lldb.eAccessPackage 813 814eArgTypeAddress = _lldb.eArgTypeAddress 815 816eArgTypeAddressOrExpression = _lldb.eArgTypeAddressOrExpression 817 818eArgTypeAliasName = _lldb.eArgTypeAliasName 819 820eArgTypeAliasOptions = _lldb.eArgTypeAliasOptions 821 822eArgTypeArchitecture = _lldb.eArgTypeArchitecture 823 824eArgTypeBoolean = _lldb.eArgTypeBoolean 825 826eArgTypeBreakpointID = _lldb.eArgTypeBreakpointID 827 828eArgTypeBreakpointIDRange = _lldb.eArgTypeBreakpointIDRange 829 830eArgTypeBreakpointName = _lldb.eArgTypeBreakpointName 831 832eArgTypeByteSize = _lldb.eArgTypeByteSize 833 834eArgTypeClassName = _lldb.eArgTypeClassName 835 836eArgTypeCommandName = _lldb.eArgTypeCommandName 837 838eArgTypeCount = _lldb.eArgTypeCount 839 840eArgTypeDescriptionVerbosity = _lldb.eArgTypeDescriptionVerbosity 841 842eArgTypeDirectoryName = _lldb.eArgTypeDirectoryName 843 844eArgTypeDisassemblyFlavor = _lldb.eArgTypeDisassemblyFlavor 845 846eArgTypeEndAddress = _lldb.eArgTypeEndAddress 847 848eArgTypeExpression = _lldb.eArgTypeExpression 849 850eArgTypeExpressionPath = _lldb.eArgTypeExpressionPath 851 852eArgTypeExprFormat = _lldb.eArgTypeExprFormat 853 854eArgTypeFileLineColumn = _lldb.eArgTypeFileLineColumn 855 856eArgTypeFilename = _lldb.eArgTypeFilename 857 858eArgTypeFormat = _lldb.eArgTypeFormat 859 860eArgTypeFrameIndex = _lldb.eArgTypeFrameIndex 861 862eArgTypeFullName = _lldb.eArgTypeFullName 863 864eArgTypeFunctionName = _lldb.eArgTypeFunctionName 865 866eArgTypeFunctionOrSymbol = _lldb.eArgTypeFunctionOrSymbol 867 868eArgTypeGDBFormat = _lldb.eArgTypeGDBFormat 869 870eArgTypeHelpText = _lldb.eArgTypeHelpText 871 872eArgTypeIndex = _lldb.eArgTypeIndex 873 874eArgTypeLanguage = _lldb.eArgTypeLanguage 875 876eArgTypeLineNum = _lldb.eArgTypeLineNum 877 878eArgTypeLogCategory = _lldb.eArgTypeLogCategory 879 880eArgTypeLogChannel = _lldb.eArgTypeLogChannel 881 882eArgTypeMethod = _lldb.eArgTypeMethod 883 884eArgTypeName = _lldb.eArgTypeName 885 886eArgTypeNewPathPrefix = _lldb.eArgTypeNewPathPrefix 887 888eArgTypeNumLines = _lldb.eArgTypeNumLines 889 890eArgTypeNumberPerLine = _lldb.eArgTypeNumberPerLine 891 892eArgTypeOffset = _lldb.eArgTypeOffset 893 894eArgTypeOldPathPrefix = _lldb.eArgTypeOldPathPrefix 895 896eArgTypeOneLiner = _lldb.eArgTypeOneLiner 897 898eArgTypePath = _lldb.eArgTypePath 899 900eArgTypePermissionsNumber = _lldb.eArgTypePermissionsNumber 901 902eArgTypePermissionsString = _lldb.eArgTypePermissionsString 903 904eArgTypePid = _lldb.eArgTypePid 905 906eArgTypePlugin = _lldb.eArgTypePlugin 907 908eArgTypeProcessName = _lldb.eArgTypeProcessName 909 910eArgTypePythonClass = _lldb.eArgTypePythonClass 911 912eArgTypePythonFunction = _lldb.eArgTypePythonFunction 913 914eArgTypePythonScript = _lldb.eArgTypePythonScript 915 916eArgTypeQueueName = _lldb.eArgTypeQueueName 917 918eArgTypeRegisterName = _lldb.eArgTypeRegisterName 919 920eArgTypeRegularExpression = _lldb.eArgTypeRegularExpression 921 922eArgTypeRunArgs = _lldb.eArgTypeRunArgs 923 924eArgTypeRunMode = _lldb.eArgTypeRunMode 925 926eArgTypeScriptedCommandSynchronicity = _lldb.eArgTypeScriptedCommandSynchronicity 927 928eArgTypeScriptLang = _lldb.eArgTypeScriptLang 929 930eArgTypeSearchWord = _lldb.eArgTypeSearchWord 931 932eArgTypeSelector = _lldb.eArgTypeSelector 933 934eArgTypeSettingIndex = _lldb.eArgTypeSettingIndex 935 936eArgTypeSettingKey = _lldb.eArgTypeSettingKey 937 938eArgTypeSettingPrefix = _lldb.eArgTypeSettingPrefix 939 940eArgTypeSettingVariableName = _lldb.eArgTypeSettingVariableName 941 942eArgTypeShlibName = _lldb.eArgTypeShlibName 943 944eArgTypeSourceFile = _lldb.eArgTypeSourceFile 945 946eArgTypeSortOrder = _lldb.eArgTypeSortOrder 947 948eArgTypeStartAddress = _lldb.eArgTypeStartAddress 949 950eArgTypeSummaryString = _lldb.eArgTypeSummaryString 951 952eArgTypeSymbol = _lldb.eArgTypeSymbol 953 954eArgTypeThreadID = _lldb.eArgTypeThreadID 955 956eArgTypeThreadIndex = _lldb.eArgTypeThreadIndex 957 958eArgTypeThreadName = _lldb.eArgTypeThreadName 959 960eArgTypeTypeName = _lldb.eArgTypeTypeName 961 962eArgTypeUnsignedInteger = _lldb.eArgTypeUnsignedInteger 963 964eArgTypeUnixSignal = _lldb.eArgTypeUnixSignal 965 966eArgTypeVarName = _lldb.eArgTypeVarName 967 968eArgTypeValue = _lldb.eArgTypeValue 969 970eArgTypeWidth = _lldb.eArgTypeWidth 971 972eArgTypeNone = _lldb.eArgTypeNone 973 974eArgTypePlatform = _lldb.eArgTypePlatform 975 976eArgTypeWatchpointID = _lldb.eArgTypeWatchpointID 977 978eArgTypeWatchpointIDRange = _lldb.eArgTypeWatchpointIDRange 979 980eArgTypeWatchType = _lldb.eArgTypeWatchType 981 982eArgRawInput = _lldb.eArgRawInput 983 984eArgTypeCommand = _lldb.eArgTypeCommand 985 986eArgTypeColumnNum = _lldb.eArgTypeColumnNum 987 988eArgTypeModuleUUID = _lldb.eArgTypeModuleUUID 989 990eArgTypeSaveCoreStyle = _lldb.eArgTypeSaveCoreStyle 991 992eArgTypeLogHandler = _lldb.eArgTypeLogHandler 993 994eArgTypeSEDStylePair = _lldb.eArgTypeSEDStylePair 995 996eArgTypeRecognizerID = _lldb.eArgTypeRecognizerID 997 998eArgTypeConnectURL = _lldb.eArgTypeConnectURL 999 1000eArgTypeTargetID = _lldb.eArgTypeTargetID 1001 1002eArgTypeStopHookID = _lldb.eArgTypeStopHookID 1003 1004eArgTypeCompletionType = _lldb.eArgTypeCompletionType 1005 1006eArgTypeRemotePath = _lldb.eArgTypeRemotePath 1007 1008eArgTypeRemoteFilename = _lldb.eArgTypeRemoteFilename 1009 1010eArgTypeModule = _lldb.eArgTypeModule 1011 1012eArgTypeLastArg = _lldb.eArgTypeLastArg 1013 1014eSymbolTypeAny = _lldb.eSymbolTypeAny 1015 1016eSymbolTypeInvalid = _lldb.eSymbolTypeInvalid 1017 1018eSymbolTypeAbsolute = _lldb.eSymbolTypeAbsolute 1019 1020eSymbolTypeCode = _lldb.eSymbolTypeCode 1021 1022eSymbolTypeResolver = _lldb.eSymbolTypeResolver 1023 1024eSymbolTypeData = _lldb.eSymbolTypeData 1025 1026eSymbolTypeTrampoline = _lldb.eSymbolTypeTrampoline 1027 1028eSymbolTypeRuntime = _lldb.eSymbolTypeRuntime 1029 1030eSymbolTypeException = _lldb.eSymbolTypeException 1031 1032eSymbolTypeSourceFile = _lldb.eSymbolTypeSourceFile 1033 1034eSymbolTypeHeaderFile = _lldb.eSymbolTypeHeaderFile 1035 1036eSymbolTypeObjectFile = _lldb.eSymbolTypeObjectFile 1037 1038eSymbolTypeCommonBlock = _lldb.eSymbolTypeCommonBlock 1039 1040eSymbolTypeBlock = _lldb.eSymbolTypeBlock 1041 1042eSymbolTypeLocal = _lldb.eSymbolTypeLocal 1043 1044eSymbolTypeParam = _lldb.eSymbolTypeParam 1045 1046eSymbolTypeVariable = _lldb.eSymbolTypeVariable 1047 1048eSymbolTypeVariableType = _lldb.eSymbolTypeVariableType 1049 1050eSymbolTypeLineEntry = _lldb.eSymbolTypeLineEntry 1051 1052eSymbolTypeLineHeader = _lldb.eSymbolTypeLineHeader 1053 1054eSymbolTypeScopeBegin = _lldb.eSymbolTypeScopeBegin 1055 1056eSymbolTypeScopeEnd = _lldb.eSymbolTypeScopeEnd 1057 1058eSymbolTypeAdditional = _lldb.eSymbolTypeAdditional 1059 1060eSymbolTypeCompiler = _lldb.eSymbolTypeCompiler 1061 1062eSymbolTypeInstrumentation = _lldb.eSymbolTypeInstrumentation 1063 1064eSymbolTypeUndefined = _lldb.eSymbolTypeUndefined 1065 1066eSymbolTypeObjCClass = _lldb.eSymbolTypeObjCClass 1067 1068eSymbolTypeObjCMetaClass = _lldb.eSymbolTypeObjCMetaClass 1069 1070eSymbolTypeObjCIVar = _lldb.eSymbolTypeObjCIVar 1071 1072eSymbolTypeReExported = _lldb.eSymbolTypeReExported 1073 1074eSectionTypeInvalid = _lldb.eSectionTypeInvalid 1075 1076eSectionTypeCode = _lldb.eSectionTypeCode 1077 1078eSectionTypeContainer = _lldb.eSectionTypeContainer 1079 1080eSectionTypeData = _lldb.eSectionTypeData 1081 1082eSectionTypeDataCString = _lldb.eSectionTypeDataCString 1083 1084eSectionTypeDataCStringPointers = _lldb.eSectionTypeDataCStringPointers 1085 1086eSectionTypeDataSymbolAddress = _lldb.eSectionTypeDataSymbolAddress 1087 1088eSectionTypeData4 = _lldb.eSectionTypeData4 1089 1090eSectionTypeData8 = _lldb.eSectionTypeData8 1091 1092eSectionTypeData16 = _lldb.eSectionTypeData16 1093 1094eSectionTypeDataPointers = _lldb.eSectionTypeDataPointers 1095 1096eSectionTypeDebug = _lldb.eSectionTypeDebug 1097 1098eSectionTypeZeroFill = _lldb.eSectionTypeZeroFill 1099 1100eSectionTypeDataObjCMessageRefs = _lldb.eSectionTypeDataObjCMessageRefs 1101 1102eSectionTypeDataObjCCFStrings = _lldb.eSectionTypeDataObjCCFStrings 1103 1104eSectionTypeDWARFDebugAbbrev = _lldb.eSectionTypeDWARFDebugAbbrev 1105 1106eSectionTypeDWARFDebugAddr = _lldb.eSectionTypeDWARFDebugAddr 1107 1108eSectionTypeDWARFDebugAranges = _lldb.eSectionTypeDWARFDebugAranges 1109 1110eSectionTypeDWARFDebugCuIndex = _lldb.eSectionTypeDWARFDebugCuIndex 1111 1112eSectionTypeDWARFDebugFrame = _lldb.eSectionTypeDWARFDebugFrame 1113 1114eSectionTypeDWARFDebugInfo = _lldb.eSectionTypeDWARFDebugInfo 1115 1116eSectionTypeDWARFDebugLine = _lldb.eSectionTypeDWARFDebugLine 1117 1118eSectionTypeDWARFDebugLoc = _lldb.eSectionTypeDWARFDebugLoc 1119 1120eSectionTypeDWARFDebugMacInfo = _lldb.eSectionTypeDWARFDebugMacInfo 1121 1122eSectionTypeDWARFDebugMacro = _lldb.eSectionTypeDWARFDebugMacro 1123 1124eSectionTypeDWARFDebugPubNames = _lldb.eSectionTypeDWARFDebugPubNames 1125 1126eSectionTypeDWARFDebugPubTypes = _lldb.eSectionTypeDWARFDebugPubTypes 1127 1128eSectionTypeDWARFDebugRanges = _lldb.eSectionTypeDWARFDebugRanges 1129 1130eSectionTypeDWARFDebugStr = _lldb.eSectionTypeDWARFDebugStr 1131 1132eSectionTypeDWARFDebugStrOffsets = _lldb.eSectionTypeDWARFDebugStrOffsets 1133 1134eSectionTypeDWARFAppleNames = _lldb.eSectionTypeDWARFAppleNames 1135 1136eSectionTypeDWARFAppleTypes = _lldb.eSectionTypeDWARFAppleTypes 1137 1138eSectionTypeDWARFAppleNamespaces = _lldb.eSectionTypeDWARFAppleNamespaces 1139 1140eSectionTypeDWARFAppleObjC = _lldb.eSectionTypeDWARFAppleObjC 1141 1142eSectionTypeELFSymbolTable = _lldb.eSectionTypeELFSymbolTable 1143 1144eSectionTypeELFDynamicSymbols = _lldb.eSectionTypeELFDynamicSymbols 1145 1146eSectionTypeELFRelocationEntries = _lldb.eSectionTypeELFRelocationEntries 1147 1148eSectionTypeELFDynamicLinkInfo = _lldb.eSectionTypeELFDynamicLinkInfo 1149 1150eSectionTypeEHFrame = _lldb.eSectionTypeEHFrame 1151 1152eSectionTypeARMexidx = _lldb.eSectionTypeARMexidx 1153 1154eSectionTypeARMextab = _lldb.eSectionTypeARMextab 1155 1156eSectionTypeCompactUnwind = _lldb.eSectionTypeCompactUnwind 1157 1158eSectionTypeGoSymtab = _lldb.eSectionTypeGoSymtab 1159 1160eSectionTypeAbsoluteAddress = _lldb.eSectionTypeAbsoluteAddress 1161 1162eSectionTypeDWARFGNUDebugAltLink = _lldb.eSectionTypeDWARFGNUDebugAltLink 1163 1164eSectionTypeDWARFDebugTypes = _lldb.eSectionTypeDWARFDebugTypes 1165 1166eSectionTypeDWARFDebugNames = _lldb.eSectionTypeDWARFDebugNames 1167 1168eSectionTypeOther = _lldb.eSectionTypeOther 1169 1170eSectionTypeDWARFDebugLineStr = _lldb.eSectionTypeDWARFDebugLineStr 1171 1172eSectionTypeDWARFDebugRngLists = _lldb.eSectionTypeDWARFDebugRngLists 1173 1174eSectionTypeDWARFDebugLocLists = _lldb.eSectionTypeDWARFDebugLocLists 1175 1176eSectionTypeDWARFDebugAbbrevDwo = _lldb.eSectionTypeDWARFDebugAbbrevDwo 1177 1178eSectionTypeDWARFDebugInfoDwo = _lldb.eSectionTypeDWARFDebugInfoDwo 1179 1180eSectionTypeDWARFDebugStrDwo = _lldb.eSectionTypeDWARFDebugStrDwo 1181 1182eSectionTypeDWARFDebugStrOffsetsDwo = _lldb.eSectionTypeDWARFDebugStrOffsetsDwo 1183 1184eSectionTypeDWARFDebugTypesDwo = _lldb.eSectionTypeDWARFDebugTypesDwo 1185 1186eSectionTypeDWARFDebugRngListsDwo = _lldb.eSectionTypeDWARFDebugRngListsDwo 1187 1188eSectionTypeDWARFDebugLocDwo = _lldb.eSectionTypeDWARFDebugLocDwo 1189 1190eSectionTypeDWARFDebugLocListsDwo = _lldb.eSectionTypeDWARFDebugLocListsDwo 1191 1192eSectionTypeDWARFDebugTuIndex = _lldb.eSectionTypeDWARFDebugTuIndex 1193 1194eSectionTypeCTF = _lldb.eSectionTypeCTF 1195 1196eSectionTypeSwiftModules = _lldb.eSectionTypeSwiftModules 1197 1198eEmulateInstructionOptionNone = _lldb.eEmulateInstructionOptionNone 1199 1200eEmulateInstructionOptionAutoAdvancePC = _lldb.eEmulateInstructionOptionAutoAdvancePC 1201 1202eEmulateInstructionOptionIgnoreConditions = _lldb.eEmulateInstructionOptionIgnoreConditions 1203 1204eFunctionNameTypeNone = _lldb.eFunctionNameTypeNone 1205 1206eFunctionNameTypeAuto = _lldb.eFunctionNameTypeAuto 1207 1208eFunctionNameTypeFull = _lldb.eFunctionNameTypeFull 1209 1210eFunctionNameTypeBase = _lldb.eFunctionNameTypeBase 1211 1212eFunctionNameTypeMethod = _lldb.eFunctionNameTypeMethod 1213 1214eFunctionNameTypeSelector = _lldb.eFunctionNameTypeSelector 1215 1216eFunctionNameTypeAny = _lldb.eFunctionNameTypeAny 1217 1218eBasicTypeInvalid = _lldb.eBasicTypeInvalid 1219 1220eBasicTypeVoid = _lldb.eBasicTypeVoid 1221 1222eBasicTypeChar = _lldb.eBasicTypeChar 1223 1224eBasicTypeSignedChar = _lldb.eBasicTypeSignedChar 1225 1226eBasicTypeUnsignedChar = _lldb.eBasicTypeUnsignedChar 1227 1228eBasicTypeWChar = _lldb.eBasicTypeWChar 1229 1230eBasicTypeSignedWChar = _lldb.eBasicTypeSignedWChar 1231 1232eBasicTypeUnsignedWChar = _lldb.eBasicTypeUnsignedWChar 1233 1234eBasicTypeChar16 = _lldb.eBasicTypeChar16 1235 1236eBasicTypeChar32 = _lldb.eBasicTypeChar32 1237 1238eBasicTypeChar8 = _lldb.eBasicTypeChar8 1239 1240eBasicTypeShort = _lldb.eBasicTypeShort 1241 1242eBasicTypeUnsignedShort = _lldb.eBasicTypeUnsignedShort 1243 1244eBasicTypeInt = _lldb.eBasicTypeInt 1245 1246eBasicTypeUnsignedInt = _lldb.eBasicTypeUnsignedInt 1247 1248eBasicTypeLong = _lldb.eBasicTypeLong 1249 1250eBasicTypeUnsignedLong = _lldb.eBasicTypeUnsignedLong 1251 1252eBasicTypeLongLong = _lldb.eBasicTypeLongLong 1253 1254eBasicTypeUnsignedLongLong = _lldb.eBasicTypeUnsignedLongLong 1255 1256eBasicTypeInt128 = _lldb.eBasicTypeInt128 1257 1258eBasicTypeUnsignedInt128 = _lldb.eBasicTypeUnsignedInt128 1259 1260eBasicTypeBool = _lldb.eBasicTypeBool 1261 1262eBasicTypeHalf = _lldb.eBasicTypeHalf 1263 1264eBasicTypeFloat = _lldb.eBasicTypeFloat 1265 1266eBasicTypeDouble = _lldb.eBasicTypeDouble 1267 1268eBasicTypeLongDouble = _lldb.eBasicTypeLongDouble 1269 1270eBasicTypeFloatComplex = _lldb.eBasicTypeFloatComplex 1271 1272eBasicTypeDoubleComplex = _lldb.eBasicTypeDoubleComplex 1273 1274eBasicTypeLongDoubleComplex = _lldb.eBasicTypeLongDoubleComplex 1275 1276eBasicTypeObjCID = _lldb.eBasicTypeObjCID 1277 1278eBasicTypeObjCClass = _lldb.eBasicTypeObjCClass 1279 1280eBasicTypeObjCSel = _lldb.eBasicTypeObjCSel 1281 1282eBasicTypeNullPtr = _lldb.eBasicTypeNullPtr 1283 1284eBasicTypeOther = _lldb.eBasicTypeOther 1285 1286eTraceTypeNone = _lldb.eTraceTypeNone 1287 1288eTraceTypeProcessorTrace = _lldb.eTraceTypeProcessorTrace 1289 1290eStructuredDataTypeInvalid = _lldb.eStructuredDataTypeInvalid 1291 1292eStructuredDataTypeNull = _lldb.eStructuredDataTypeNull 1293 1294eStructuredDataTypeGeneric = _lldb.eStructuredDataTypeGeneric 1295 1296eStructuredDataTypeArray = _lldb.eStructuredDataTypeArray 1297 1298eStructuredDataTypeInteger = _lldb.eStructuredDataTypeInteger 1299 1300eStructuredDataTypeFloat = _lldb.eStructuredDataTypeFloat 1301 1302eStructuredDataTypeBoolean = _lldb.eStructuredDataTypeBoolean 1303 1304eStructuredDataTypeString = _lldb.eStructuredDataTypeString 1305 1306eStructuredDataTypeDictionary = _lldb.eStructuredDataTypeDictionary 1307 1308eStructuredDataTypeSignedInteger = _lldb.eStructuredDataTypeSignedInteger 1309 1310eStructuredDataTypeUnsignedInteger = _lldb.eStructuredDataTypeUnsignedInteger 1311 1312eTypeClassInvalid = _lldb.eTypeClassInvalid 1313 1314eTypeClassArray = _lldb.eTypeClassArray 1315 1316eTypeClassBlockPointer = _lldb.eTypeClassBlockPointer 1317 1318eTypeClassBuiltin = _lldb.eTypeClassBuiltin 1319 1320eTypeClassClass = _lldb.eTypeClassClass 1321 1322eTypeClassComplexFloat = _lldb.eTypeClassComplexFloat 1323 1324eTypeClassComplexInteger = _lldb.eTypeClassComplexInteger 1325 1326eTypeClassEnumeration = _lldb.eTypeClassEnumeration 1327 1328eTypeClassFunction = _lldb.eTypeClassFunction 1329 1330eTypeClassMemberPointer = _lldb.eTypeClassMemberPointer 1331 1332eTypeClassObjCObject = _lldb.eTypeClassObjCObject 1333 1334eTypeClassObjCInterface = _lldb.eTypeClassObjCInterface 1335 1336eTypeClassObjCObjectPointer = _lldb.eTypeClassObjCObjectPointer 1337 1338eTypeClassPointer = _lldb.eTypeClassPointer 1339 1340eTypeClassReference = _lldb.eTypeClassReference 1341 1342eTypeClassStruct = _lldb.eTypeClassStruct 1343 1344eTypeClassTypedef = _lldb.eTypeClassTypedef 1345 1346eTypeClassUnion = _lldb.eTypeClassUnion 1347 1348eTypeClassVector = _lldb.eTypeClassVector 1349 1350eTypeClassOther = _lldb.eTypeClassOther 1351 1352eTypeClassAny = _lldb.eTypeClassAny 1353 1354eTemplateArgumentKindNull = _lldb.eTemplateArgumentKindNull 1355 1356eTemplateArgumentKindType = _lldb.eTemplateArgumentKindType 1357 1358eTemplateArgumentKindDeclaration = _lldb.eTemplateArgumentKindDeclaration 1359 1360eTemplateArgumentKindIntegral = _lldb.eTemplateArgumentKindIntegral 1361 1362eTemplateArgumentKindTemplate = _lldb.eTemplateArgumentKindTemplate 1363 1364eTemplateArgumentKindTemplateExpansion = _lldb.eTemplateArgumentKindTemplateExpansion 1365 1366eTemplateArgumentKindExpression = _lldb.eTemplateArgumentKindExpression 1367 1368eTemplateArgumentKindPack = _lldb.eTemplateArgumentKindPack 1369 1370eTemplateArgumentKindNullPtr = _lldb.eTemplateArgumentKindNullPtr 1371 1372eTemplateArgumentKindStructuralValue = _lldb.eTemplateArgumentKindStructuralValue 1373 1374eFormatterMatchExact = _lldb.eFormatterMatchExact 1375 1376eFormatterMatchRegex = _lldb.eFormatterMatchRegex 1377 1378eFormatterMatchCallback = _lldb.eFormatterMatchCallback 1379 1380eLastFormatterMatchType = _lldb.eLastFormatterMatchType 1381 1382eTypeOptionNone = _lldb.eTypeOptionNone 1383 1384eTypeOptionCascade = _lldb.eTypeOptionCascade 1385 1386eTypeOptionSkipPointers = _lldb.eTypeOptionSkipPointers 1387 1388eTypeOptionSkipReferences = _lldb.eTypeOptionSkipReferences 1389 1390eTypeOptionHideChildren = _lldb.eTypeOptionHideChildren 1391 1392eTypeOptionHideValue = _lldb.eTypeOptionHideValue 1393 1394eTypeOptionShowOneLiner = _lldb.eTypeOptionShowOneLiner 1395 1396eTypeOptionHideNames = _lldb.eTypeOptionHideNames 1397 1398eTypeOptionNonCacheable = _lldb.eTypeOptionNonCacheable 1399 1400eTypeOptionHideEmptyAggregates = _lldb.eTypeOptionHideEmptyAggregates 1401 1402eTypeOptionFrontEndWantsDereference = _lldb.eTypeOptionFrontEndWantsDereference 1403 1404eFrameCompareInvalid = _lldb.eFrameCompareInvalid 1405 1406eFrameCompareUnknown = _lldb.eFrameCompareUnknown 1407 1408eFrameCompareEqual = _lldb.eFrameCompareEqual 1409 1410eFrameCompareSameParent = _lldb.eFrameCompareSameParent 1411 1412eFrameCompareYounger = _lldb.eFrameCompareYounger 1413 1414eFrameCompareOlder = _lldb.eFrameCompareOlder 1415 1416eFilePermissionsUserRead = _lldb.eFilePermissionsUserRead 1417 1418eFilePermissionsUserWrite = _lldb.eFilePermissionsUserWrite 1419 1420eFilePermissionsUserExecute = _lldb.eFilePermissionsUserExecute 1421 1422eFilePermissionsGroupRead = _lldb.eFilePermissionsGroupRead 1423 1424eFilePermissionsGroupWrite = _lldb.eFilePermissionsGroupWrite 1425 1426eFilePermissionsGroupExecute = _lldb.eFilePermissionsGroupExecute 1427 1428eFilePermissionsWorldRead = _lldb.eFilePermissionsWorldRead 1429 1430eFilePermissionsWorldWrite = _lldb.eFilePermissionsWorldWrite 1431 1432eFilePermissionsWorldExecute = _lldb.eFilePermissionsWorldExecute 1433 1434eFilePermissionsUserRW = _lldb.eFilePermissionsUserRW 1435 1436eFileFilePermissionsUserRX = _lldb.eFileFilePermissionsUserRX 1437 1438eFilePermissionsUserRWX = _lldb.eFilePermissionsUserRWX 1439 1440eFilePermissionsGroupRW = _lldb.eFilePermissionsGroupRW 1441 1442eFilePermissionsGroupRX = _lldb.eFilePermissionsGroupRX 1443 1444eFilePermissionsGroupRWX = _lldb.eFilePermissionsGroupRWX 1445 1446eFilePermissionsWorldRW = _lldb.eFilePermissionsWorldRW 1447 1448eFilePermissionsWorldRX = _lldb.eFilePermissionsWorldRX 1449 1450eFilePermissionsWorldRWX = _lldb.eFilePermissionsWorldRWX 1451 1452eFilePermissionsEveryoneR = _lldb.eFilePermissionsEveryoneR 1453 1454eFilePermissionsEveryoneW = _lldb.eFilePermissionsEveryoneW 1455 1456eFilePermissionsEveryoneX = _lldb.eFilePermissionsEveryoneX 1457 1458eFilePermissionsEveryoneRW = _lldb.eFilePermissionsEveryoneRW 1459 1460eFilePermissionsEveryoneRX = _lldb.eFilePermissionsEveryoneRX 1461 1462eFilePermissionsEveryoneRWX = _lldb.eFilePermissionsEveryoneRWX 1463 1464eFilePermissionsFileDefault = _lldb.eFilePermissionsFileDefault 1465 1466eFilePermissionsDirectoryDefault = _lldb.eFilePermissionsDirectoryDefault 1467 1468eQueueItemKindUnknown = _lldb.eQueueItemKindUnknown 1469 1470eQueueItemKindFunction = _lldb.eQueueItemKindFunction 1471 1472eQueueItemKindBlock = _lldb.eQueueItemKindBlock 1473 1474eQueueKindUnknown = _lldb.eQueueKindUnknown 1475 1476eQueueKindSerial = _lldb.eQueueKindSerial 1477 1478eQueueKindConcurrent = _lldb.eQueueKindConcurrent 1479 1480eExpressionEvaluationParse = _lldb.eExpressionEvaluationParse 1481 1482eExpressionEvaluationIRGen = _lldb.eExpressionEvaluationIRGen 1483 1484eExpressionEvaluationExecution = _lldb.eExpressionEvaluationExecution 1485 1486eExpressionEvaluationComplete = _lldb.eExpressionEvaluationComplete 1487 1488eInstructionControlFlowKindUnknown = _lldb.eInstructionControlFlowKindUnknown 1489 1490eInstructionControlFlowKindOther = _lldb.eInstructionControlFlowKindOther 1491 1492eInstructionControlFlowKindCall = _lldb.eInstructionControlFlowKindCall 1493 1494eInstructionControlFlowKindReturn = _lldb.eInstructionControlFlowKindReturn 1495 1496eInstructionControlFlowKindJump = _lldb.eInstructionControlFlowKindJump 1497 1498eInstructionControlFlowKindCondJump = _lldb.eInstructionControlFlowKindCondJump 1499 1500eInstructionControlFlowKindFarCall = _lldb.eInstructionControlFlowKindFarCall 1501 1502eInstructionControlFlowKindFarReturn = _lldb.eInstructionControlFlowKindFarReturn 1503 1504eInstructionControlFlowKindFarJump = _lldb.eInstructionControlFlowKindFarJump 1505 1506eWatchpointKindWrite = _lldb.eWatchpointKindWrite 1507 1508eWatchpointKindRead = _lldb.eWatchpointKindRead 1509 1510eGdbSignalBadAccess = _lldb.eGdbSignalBadAccess 1511 1512eGdbSignalBadInstruction = _lldb.eGdbSignalBadInstruction 1513 1514eGdbSignalArithmetic = _lldb.eGdbSignalArithmetic 1515 1516eGdbSignalEmulation = _lldb.eGdbSignalEmulation 1517 1518eGdbSignalSoftware = _lldb.eGdbSignalSoftware 1519 1520eGdbSignalBreakpoint = _lldb.eGdbSignalBreakpoint 1521 1522ePathTypeLLDBShlibDir = _lldb.ePathTypeLLDBShlibDir 1523 1524ePathTypeSupportExecutableDir = _lldb.ePathTypeSupportExecutableDir 1525 1526ePathTypeHeaderDir = _lldb.ePathTypeHeaderDir 1527 1528ePathTypePythonDir = _lldb.ePathTypePythonDir 1529 1530ePathTypeLLDBSystemPlugins = _lldb.ePathTypeLLDBSystemPlugins 1531 1532ePathTypeLLDBUserPlugins = _lldb.ePathTypeLLDBUserPlugins 1533 1534ePathTypeLLDBTempSystemDir = _lldb.ePathTypeLLDBTempSystemDir 1535 1536ePathTypeGlobalLLDBTempSystemDir = _lldb.ePathTypeGlobalLLDBTempSystemDir 1537 1538ePathTypeClangDir = _lldb.ePathTypeClangDir 1539 1540eMemberFunctionKindUnknown = _lldb.eMemberFunctionKindUnknown 1541 1542eMemberFunctionKindConstructor = _lldb.eMemberFunctionKindConstructor 1543 1544eMemberFunctionKindDestructor = _lldb.eMemberFunctionKindDestructor 1545 1546eMemberFunctionKindInstanceMethod = _lldb.eMemberFunctionKindInstanceMethod 1547 1548eMemberFunctionKindStaticMethod = _lldb.eMemberFunctionKindStaticMethod 1549 1550eMatchTypeNormal = _lldb.eMatchTypeNormal 1551 1552eMatchTypeRegex = _lldb.eMatchTypeRegex 1553 1554eMatchTypeStartsWith = _lldb.eMatchTypeStartsWith 1555 1556eTypeHasChildren = _lldb.eTypeHasChildren 1557 1558eTypeHasValue = _lldb.eTypeHasValue 1559 1560eTypeIsArray = _lldb.eTypeIsArray 1561 1562eTypeIsBlock = _lldb.eTypeIsBlock 1563 1564eTypeIsBuiltIn = _lldb.eTypeIsBuiltIn 1565 1566eTypeIsClass = _lldb.eTypeIsClass 1567 1568eTypeIsCPlusPlus = _lldb.eTypeIsCPlusPlus 1569 1570eTypeIsEnumeration = _lldb.eTypeIsEnumeration 1571 1572eTypeIsFuncPrototype = _lldb.eTypeIsFuncPrototype 1573 1574eTypeIsMember = _lldb.eTypeIsMember 1575 1576eTypeIsObjC = _lldb.eTypeIsObjC 1577 1578eTypeIsPointer = _lldb.eTypeIsPointer 1579 1580eTypeIsReference = _lldb.eTypeIsReference 1581 1582eTypeIsStructUnion = _lldb.eTypeIsStructUnion 1583 1584eTypeIsTemplate = _lldb.eTypeIsTemplate 1585 1586eTypeIsTypedef = _lldb.eTypeIsTypedef 1587 1588eTypeIsVector = _lldb.eTypeIsVector 1589 1590eTypeIsScalar = _lldb.eTypeIsScalar 1591 1592eTypeIsInteger = _lldb.eTypeIsInteger 1593 1594eTypeIsFloat = _lldb.eTypeIsFloat 1595 1596eTypeIsComplex = _lldb.eTypeIsComplex 1597 1598eTypeIsSigned = _lldb.eTypeIsSigned 1599 1600eTypeInstanceIsPointer = _lldb.eTypeInstanceIsPointer 1601 1602eCommandRequiresTarget = _lldb.eCommandRequiresTarget 1603 1604eCommandRequiresProcess = _lldb.eCommandRequiresProcess 1605 1606eCommandRequiresThread = _lldb.eCommandRequiresThread 1607 1608eCommandRequiresFrame = _lldb.eCommandRequiresFrame 1609 1610eCommandRequiresRegContext = _lldb.eCommandRequiresRegContext 1611 1612eCommandTryTargetAPILock = _lldb.eCommandTryTargetAPILock 1613 1614eCommandProcessMustBeLaunched = _lldb.eCommandProcessMustBeLaunched 1615 1616eCommandProcessMustBePaused = _lldb.eCommandProcessMustBePaused 1617 1618eCommandProcessMustBeTraced = _lldb.eCommandProcessMustBeTraced 1619 1620eTypeSummaryCapped = _lldb.eTypeSummaryCapped 1621 1622eTypeSummaryUncapped = _lldb.eTypeSummaryUncapped 1623 1624eCommandInterpreterResultSuccess = _lldb.eCommandInterpreterResultSuccess 1625 1626eCommandInterpreterResultInferiorCrash = _lldb.eCommandInterpreterResultInferiorCrash 1627 1628eCommandInterpreterResultCommandError = _lldb.eCommandInterpreterResultCommandError 1629 1630eCommandInterpreterResultQuitRequested = _lldb.eCommandInterpreterResultQuitRequested 1631 1632eSaveCoreUnspecified = _lldb.eSaveCoreUnspecified 1633 1634eSaveCoreFull = _lldb.eSaveCoreFull 1635 1636eSaveCoreDirtyOnly = _lldb.eSaveCoreDirtyOnly 1637 1638eSaveCoreStackOnly = _lldb.eSaveCoreStackOnly 1639 1640eTraceEventDisabledSW = _lldb.eTraceEventDisabledSW 1641 1642eTraceEventDisabledHW = _lldb.eTraceEventDisabledHW 1643 1644eTraceEventCPUChanged = _lldb.eTraceEventCPUChanged 1645 1646eTraceEventHWClockTick = _lldb.eTraceEventHWClockTick 1647 1648eTraceEventSyncPoint = _lldb.eTraceEventSyncPoint 1649 1650eTraceItemKindError = _lldb.eTraceItemKindError 1651 1652eTraceItemKindEvent = _lldb.eTraceItemKindEvent 1653 1654eTraceItemKindInstruction = _lldb.eTraceItemKindInstruction 1655 1656eTraceCursorSeekTypeBeginning = _lldb.eTraceCursorSeekTypeBeginning 1657 1658eTraceCursorSeekTypeCurrent = _lldb.eTraceCursorSeekTypeCurrent 1659 1660eTraceCursorSeekTypeEnd = _lldb.eTraceCursorSeekTypeEnd 1661 1662eDWIMPrintVerbosityNone = _lldb.eDWIMPrintVerbosityNone 1663 1664eDWIMPrintVerbosityExpression = _lldb.eDWIMPrintVerbosityExpression 1665 1666eDWIMPrintVerbosityFull = _lldb.eDWIMPrintVerbosityFull 1667 1668eWatchPointValueKindInvalid = _lldb.eWatchPointValueKindInvalid 1669 1670eWatchPointValueKindVariable = _lldb.eWatchPointValueKindVariable 1671 1672eWatchPointValueKindExpression = _lldb.eWatchPointValueKindExpression 1673 1674eNoCompletion = _lldb.eNoCompletion 1675 1676eSourceFileCompletion = _lldb.eSourceFileCompletion 1677 1678eDiskFileCompletion = _lldb.eDiskFileCompletion 1679 1680eDiskDirectoryCompletion = _lldb.eDiskDirectoryCompletion 1681 1682eSymbolCompletion = _lldb.eSymbolCompletion 1683 1684eModuleCompletion = _lldb.eModuleCompletion 1685 1686eSettingsNameCompletion = _lldb.eSettingsNameCompletion 1687 1688ePlatformPluginCompletion = _lldb.ePlatformPluginCompletion 1689 1690eArchitectureCompletion = _lldb.eArchitectureCompletion 1691 1692eVariablePathCompletion = _lldb.eVariablePathCompletion 1693 1694eRegisterCompletion = _lldb.eRegisterCompletion 1695 1696eBreakpointCompletion = _lldb.eBreakpointCompletion 1697 1698eProcessPluginCompletion = _lldb.eProcessPluginCompletion 1699 1700eDisassemblyFlavorCompletion = _lldb.eDisassemblyFlavorCompletion 1701 1702eTypeLanguageCompletion = _lldb.eTypeLanguageCompletion 1703 1704eFrameIndexCompletion = _lldb.eFrameIndexCompletion 1705 1706eModuleUUIDCompletion = _lldb.eModuleUUIDCompletion 1707 1708eStopHookIDCompletion = _lldb.eStopHookIDCompletion 1709 1710eThreadIndexCompletion = _lldb.eThreadIndexCompletion 1711 1712eWatchpointIDCompletion = _lldb.eWatchpointIDCompletion 1713 1714eBreakpointNameCompletion = _lldb.eBreakpointNameCompletion 1715 1716eProcessIDCompletion = _lldb.eProcessIDCompletion 1717 1718eProcessNameCompletion = _lldb.eProcessNameCompletion 1719 1720eRemoteDiskFileCompletion = _lldb.eRemoteDiskFileCompletion 1721 1722eRemoteDiskDirectoryCompletion = _lldb.eRemoteDiskDirectoryCompletion 1723 1724eTypeCategoryNameCompletion = _lldb.eTypeCategoryNameCompletion 1725 1726eCustomCompletion = _lldb.eCustomCompletion 1727 1728eThreadIDCompletion = _lldb.eThreadIDCompletion 1729 1730eTerminatorCompletion = _lldb.eTerminatorCompletion 1731 1732eRefetch = _lldb.eRefetch 1733 1734eReuse = _lldb.eReuse 1735 1736eSymbolDownloadOff = _lldb.eSymbolDownloadOff 1737 1738eSymbolDownloadBackground = _lldb.eSymbolDownloadBackground 1739 1740eSymbolDownloadForeground = _lldb.eSymbolDownloadForeground 1741 1742eAddressMaskTypeCode = _lldb.eAddressMaskTypeCode 1743 1744eAddressMaskTypeData = _lldb.eAddressMaskTypeData 1745 1746eAddressMaskTypeAny = _lldb.eAddressMaskTypeAny 1747 1748eAddressMaskTypeAll = _lldb.eAddressMaskTypeAll 1749 1750eAddressMaskRangeLow = _lldb.eAddressMaskRangeLow 1751 1752eAddressMaskRangeHigh = _lldb.eAddressMaskRangeHigh 1753 1754eAddressMaskRangeAny = _lldb.eAddressMaskRangeAny 1755 1756eAddressMaskRangeAll = _lldb.eAddressMaskRangeAll 1757 1758eBroadcastBitProgress = _lldb.eBroadcastBitProgress 1759 1760eBroadcastBitWarning = _lldb.eBroadcastBitWarning 1761 1762eBroadcastBitError = _lldb.eBroadcastBitError 1763 1764eBroadcastSymbolChange = _lldb.eBroadcastSymbolChange 1765 1766eBroadcastBitProgressCategory = _lldb.eBroadcastBitProgressCategory 1767 1768eSeverityError = _lldb.eSeverityError 1769 1770eSeverityWarning = _lldb.eSeverityWarning 1771 1772eSeverityInfo = _lldb.eSeverityInfo 1773 1774class SBAddress(object): 1775 r""" 1776 A section + offset based address class. 1777 1778 The SBAddress class allows addresses to be relative to a section 1779 that can move during runtime due to images (executables, shared 1780 libraries, bundles, frameworks) being loaded at different 1781 addresses than the addresses found in the object file that 1782 represents them on disk. There are currently two types of addresses 1783 for a section: 1784 1785 * file addresses 1786 * load addresses 1787 1788 File addresses represents the virtual addresses that are in the 'on 1789 disk' object files. These virtual addresses are converted to be 1790 relative to unique sections scoped to the object file so that 1791 when/if the addresses slide when the images are loaded/unloaded 1792 in memory, we can easily track these changes without having to 1793 update every object (compile unit ranges, line tables, function 1794 address ranges, lexical block and inlined subroutine address 1795 ranges, global and static variables) each time an image is loaded or 1796 unloaded. 1797 1798 Load addresses represents the virtual addresses where each section 1799 ends up getting loaded at runtime. Before executing a program, it 1800 is common for all of the load addresses to be unresolved. When a 1801 DynamicLoader plug-in receives notification that shared libraries 1802 have been loaded/unloaded, the load addresses of the main executable 1803 and any images (shared libraries) will be resolved/unresolved. When 1804 this happens, breakpoints that are in one of these sections can be 1805 set/cleared. 1806 1807 See docstring of SBFunction for example usage of SBAddress. 1808 """ 1809 1810 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 1811 1812 def __init__(self, *args): 1813 r""" 1814 __init__(SBAddress self) -> SBAddress 1815 __init__(SBAddress self, SBAddress rhs) -> SBAddress 1816 __init__(SBAddress self, SBSection section, lldb::addr_t offset) -> SBAddress 1817 __init__(SBAddress self, lldb::addr_t load_addr, SBTarget target) -> SBAddress 1818 1819 Create an address by resolving a load address using the supplied target. 1820 """ 1821 _lldb.SBAddress_swiginit(self, _lldb.new_SBAddress(*args)) 1822 __swig_destroy__ = _lldb.delete_SBAddress 1823 1824 def __nonzero__(self): 1825 return _lldb.SBAddress___nonzero__(self) 1826 __bool__ = __nonzero__ 1827 1828 1829 1830 def __ne__(self, rhs): 1831 r"""__ne__(SBAddress self, SBAddress rhs) -> bool""" 1832 return _lldb.SBAddress___ne__(self, rhs) 1833 1834 def IsValid(self): 1835 r"""IsValid(SBAddress self) -> bool""" 1836 return _lldb.SBAddress_IsValid(self) 1837 1838 def Clear(self): 1839 r"""Clear(SBAddress self)""" 1840 return _lldb.SBAddress_Clear(self) 1841 1842 def GetFileAddress(self): 1843 r"""GetFileAddress(SBAddress self) -> lldb::addr_t""" 1844 return _lldb.SBAddress_GetFileAddress(self) 1845 1846 def GetLoadAddress(self, target): 1847 r"""GetLoadAddress(SBAddress self, SBTarget target) -> lldb::addr_t""" 1848 return _lldb.SBAddress_GetLoadAddress(self, target) 1849 1850 def SetAddress(self, section, offset): 1851 r"""SetAddress(SBAddress self, SBSection section, lldb::addr_t offset)""" 1852 return _lldb.SBAddress_SetAddress(self, section, offset) 1853 1854 def SetLoadAddress(self, load_addr, target): 1855 r"""SetLoadAddress(SBAddress self, lldb::addr_t load_addr, SBTarget target)""" 1856 return _lldb.SBAddress_SetLoadAddress(self, load_addr, target) 1857 1858 def OffsetAddress(self, offset): 1859 r"""OffsetAddress(SBAddress self, lldb::addr_t offset) -> bool""" 1860 return _lldb.SBAddress_OffsetAddress(self, offset) 1861 1862 def GetDescription(self, description): 1863 r"""GetDescription(SBAddress self, SBStream description) -> bool""" 1864 return _lldb.SBAddress_GetDescription(self, description) 1865 1866 def GetSymbolContext(self, resolve_scope): 1867 r""" 1868 GetSymbolContext(SBAddress self, uint32_t resolve_scope) -> SBSymbolContext 1869 1870 GetSymbolContext() and the following can lookup symbol information for a given address. 1871 An address might refer to code or data from an existing module, or it 1872 might refer to something on the stack or heap. The following functions 1873 will only return valid values if the address has been resolved to a code 1874 or data address using :py:class:`SBAddress.SetLoadAddress' or 1875 :py:class:`SBTarget.ResolveLoadAddress`. 1876 """ 1877 return _lldb.SBAddress_GetSymbolContext(self, resolve_scope) 1878 1879 def GetSection(self): 1880 r"""GetSection(SBAddress self) -> SBSection""" 1881 return _lldb.SBAddress_GetSection(self) 1882 1883 def GetOffset(self): 1884 r"""GetOffset(SBAddress self) -> lldb::addr_t""" 1885 return _lldb.SBAddress_GetOffset(self) 1886 1887 def GetModule(self): 1888 r""" 1889 GetModule(SBAddress self) -> SBModule 1890 1891 GetModule() and the following grab individual objects for a given address and 1892 are less efficient if you want more than one symbol related objects. 1893 Use :py:class:`SBAddress.GetSymbolContext` or 1894 :py:class:`SBTarget.ResolveSymbolContextForAddress` when you want multiple 1895 debug symbol related objects for an address. 1896 One or more bits from the SymbolContextItem enumerations can be logically 1897 OR'ed together to more efficiently retrieve multiple symbol objects. 1898 """ 1899 return _lldb.SBAddress_GetModule(self) 1900 1901 def GetCompileUnit(self): 1902 r"""GetCompileUnit(SBAddress self) -> SBCompileUnit""" 1903 return _lldb.SBAddress_GetCompileUnit(self) 1904 1905 def GetFunction(self): 1906 r"""GetFunction(SBAddress self) -> SBFunction""" 1907 return _lldb.SBAddress_GetFunction(self) 1908 1909 def GetBlock(self): 1910 r"""GetBlock(SBAddress self) -> SBBlock""" 1911 return _lldb.SBAddress_GetBlock(self) 1912 1913 def GetSymbol(self): 1914 r"""GetSymbol(SBAddress self) -> SBSymbol""" 1915 return _lldb.SBAddress_GetSymbol(self) 1916 1917 def GetLineEntry(self): 1918 r"""GetLineEntry(SBAddress self) -> SBLineEntry""" 1919 return _lldb.SBAddress_GetLineEntry(self) 1920 1921 def __repr__(self): 1922 r"""__repr__(SBAddress self) -> std::string""" 1923 return _lldb.SBAddress___repr__(self) 1924 1925 # operator== is a free function, which swig does not handle, so we inject 1926 # our own equality operator here 1927 def __eq__(self, other): 1928 return not self.__ne__(other) 1929 1930 1931 __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.' 1932 1933 def __get_load_addr_property__ (self): 1934 '''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.''' 1935 if not target: 1936 raise RuntimeError(self.__runtime_error_str) 1937 return self.GetLoadAddress (target) 1938 1939 def __set_load_addr_property__ (self, load_addr): 1940 '''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.''' 1941 if not target: 1942 raise RuntimeError(self.__runtime_error_str) 1943 return self.SetLoadAddress (load_addr, target) 1944 1945 def __int__(self): 1946 '''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.''' 1947 if not process or not target: 1948 raise RuntimeError(self.__runtime_error_str) 1949 if process.is_alive: 1950 return self.GetLoadAddress (target) 1951 return self.GetFileAddress () 1952 1953 def __oct__(self): 1954 '''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.''' 1955 return '%o' % int(self) 1956 1957 def __hex__(self): 1958 '''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.''' 1959 return '0x%x' % int(self) 1960 1961 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.''') 1962 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.''') 1963 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.''') 1964 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.''') 1965 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.''') 1966 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.''') 1967 offset = property(GetOffset, None, doc='''A read only property that returns the section offset in bytes as an integer.''') 1968 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.''') 1969 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.''') 1970 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.''') 1971 1972 1973# Register SBAddress in _lldb: 1974_lldb.SBAddress_swigregister(SBAddress) 1975class SBAttachInfo(object): 1976 r"""Describes how to attach when calling :py:class:`SBTarget.Attach`.""" 1977 1978 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 1979 __repr__ = _swig_repr 1980 1981 def __init__(self, *args): 1982 r""" 1983 __init__(SBAttachInfo self) -> SBAttachInfo 1984 __init__(SBAttachInfo self, lldb::pid_t pid) -> SBAttachInfo 1985 __init__(SBAttachInfo self, char const * path, bool wait_for) -> SBAttachInfo 1986 __init__(SBAttachInfo self, char const * path, bool wait_for, bool _async) -> SBAttachInfo 1987 __init__(SBAttachInfo self, SBAttachInfo rhs) -> SBAttachInfo 1988 """ 1989 _lldb.SBAttachInfo_swiginit(self, _lldb.new_SBAttachInfo(*args)) 1990 __swig_destroy__ = _lldb.delete_SBAttachInfo 1991 1992 def GetProcessID(self): 1993 r"""GetProcessID(SBAttachInfo self) -> lldb::pid_t""" 1994 return _lldb.SBAttachInfo_GetProcessID(self) 1995 1996 def SetProcessID(self, pid): 1997 r"""SetProcessID(SBAttachInfo self, lldb::pid_t pid)""" 1998 return _lldb.SBAttachInfo_SetProcessID(self, pid) 1999 2000 def SetExecutable(self, *args): 2001 r""" 2002 SetExecutable(SBAttachInfo self, char const * path) 2003 SetExecutable(SBAttachInfo self, SBFileSpec exe_file) 2004 """ 2005 return _lldb.SBAttachInfo_SetExecutable(self, *args) 2006 2007 def GetWaitForLaunch(self): 2008 r"""GetWaitForLaunch(SBAttachInfo self) -> bool""" 2009 return _lldb.SBAttachInfo_GetWaitForLaunch(self) 2010 2011 def SetWaitForLaunch(self, *args): 2012 r""" 2013 SetWaitForLaunch(SBAttachInfo self, bool b) 2014 SetWaitForLaunch(SBAttachInfo self, bool b, bool _async) 2015 """ 2016 return _lldb.SBAttachInfo_SetWaitForLaunch(self, *args) 2017 2018 def GetIgnoreExisting(self): 2019 r"""GetIgnoreExisting(SBAttachInfo self) -> bool""" 2020 return _lldb.SBAttachInfo_GetIgnoreExisting(self) 2021 2022 def SetIgnoreExisting(self, b): 2023 r"""SetIgnoreExisting(SBAttachInfo self, bool b)""" 2024 return _lldb.SBAttachInfo_SetIgnoreExisting(self, b) 2025 2026 def GetResumeCount(self): 2027 r"""GetResumeCount(SBAttachInfo self) -> uint32_t""" 2028 return _lldb.SBAttachInfo_GetResumeCount(self) 2029 2030 def SetResumeCount(self, c): 2031 r"""SetResumeCount(SBAttachInfo self, uint32_t c)""" 2032 return _lldb.SBAttachInfo_SetResumeCount(self, c) 2033 2034 def GetProcessPluginName(self): 2035 r"""GetProcessPluginName(SBAttachInfo self) -> char const *""" 2036 return _lldb.SBAttachInfo_GetProcessPluginName(self) 2037 2038 def SetProcessPluginName(self, plugin_name): 2039 r"""SetProcessPluginName(SBAttachInfo self, char const * plugin_name)""" 2040 return _lldb.SBAttachInfo_SetProcessPluginName(self, plugin_name) 2041 2042 def GetUserID(self): 2043 r"""GetUserID(SBAttachInfo self) -> uint32_t""" 2044 return _lldb.SBAttachInfo_GetUserID(self) 2045 2046 def GetGroupID(self): 2047 r"""GetGroupID(SBAttachInfo self) -> uint32_t""" 2048 return _lldb.SBAttachInfo_GetGroupID(self) 2049 2050 def UserIDIsValid(self): 2051 r"""UserIDIsValid(SBAttachInfo self) -> bool""" 2052 return _lldb.SBAttachInfo_UserIDIsValid(self) 2053 2054 def GroupIDIsValid(self): 2055 r"""GroupIDIsValid(SBAttachInfo self) -> bool""" 2056 return _lldb.SBAttachInfo_GroupIDIsValid(self) 2057 2058 def SetUserID(self, uid): 2059 r"""SetUserID(SBAttachInfo self, uint32_t uid)""" 2060 return _lldb.SBAttachInfo_SetUserID(self, uid) 2061 2062 def SetGroupID(self, gid): 2063 r"""SetGroupID(SBAttachInfo self, uint32_t gid)""" 2064 return _lldb.SBAttachInfo_SetGroupID(self, gid) 2065 2066 def GetEffectiveUserID(self): 2067 r"""GetEffectiveUserID(SBAttachInfo self) -> uint32_t""" 2068 return _lldb.SBAttachInfo_GetEffectiveUserID(self) 2069 2070 def GetEffectiveGroupID(self): 2071 r"""GetEffectiveGroupID(SBAttachInfo self) -> uint32_t""" 2072 return _lldb.SBAttachInfo_GetEffectiveGroupID(self) 2073 2074 def EffectiveUserIDIsValid(self): 2075 r"""EffectiveUserIDIsValid(SBAttachInfo self) -> bool""" 2076 return _lldb.SBAttachInfo_EffectiveUserIDIsValid(self) 2077 2078 def EffectiveGroupIDIsValid(self): 2079 r"""EffectiveGroupIDIsValid(SBAttachInfo self) -> bool""" 2080 return _lldb.SBAttachInfo_EffectiveGroupIDIsValid(self) 2081 2082 def SetEffectiveUserID(self, uid): 2083 r"""SetEffectiveUserID(SBAttachInfo self, uint32_t uid)""" 2084 return _lldb.SBAttachInfo_SetEffectiveUserID(self, uid) 2085 2086 def SetEffectiveGroupID(self, gid): 2087 r"""SetEffectiveGroupID(SBAttachInfo self, uint32_t gid)""" 2088 return _lldb.SBAttachInfo_SetEffectiveGroupID(self, gid) 2089 2090 def GetParentProcessID(self): 2091 r"""GetParentProcessID(SBAttachInfo self) -> lldb::pid_t""" 2092 return _lldb.SBAttachInfo_GetParentProcessID(self) 2093 2094 def SetParentProcessID(self, pid): 2095 r"""SetParentProcessID(SBAttachInfo self, lldb::pid_t pid)""" 2096 return _lldb.SBAttachInfo_SetParentProcessID(self, pid) 2097 2098 def ParentProcessIDIsValid(self): 2099 r"""ParentProcessIDIsValid(SBAttachInfo self) -> bool""" 2100 return _lldb.SBAttachInfo_ParentProcessIDIsValid(self) 2101 2102 def GetListener(self): 2103 r"""GetListener(SBAttachInfo self) -> SBListener""" 2104 return _lldb.SBAttachInfo_GetListener(self) 2105 2106 def SetListener(self, listener): 2107 r"""SetListener(SBAttachInfo self, SBListener listener)""" 2108 return _lldb.SBAttachInfo_SetListener(self, listener) 2109 2110 def GetShadowListener(self): 2111 r"""GetShadowListener(SBAttachInfo self) -> SBListener""" 2112 return _lldb.SBAttachInfo_GetShadowListener(self) 2113 2114 def SetShadowListener(self, listener): 2115 r"""SetShadowListener(SBAttachInfo self, SBListener listener)""" 2116 return _lldb.SBAttachInfo_SetShadowListener(self, listener) 2117 2118 def GetScriptedProcessClassName(self): 2119 r"""GetScriptedProcessClassName(SBAttachInfo self) -> char const *""" 2120 return _lldb.SBAttachInfo_GetScriptedProcessClassName(self) 2121 2122 def SetScriptedProcessClassName(self, class_name): 2123 r"""SetScriptedProcessClassName(SBAttachInfo self, char const * class_name)""" 2124 return _lldb.SBAttachInfo_SetScriptedProcessClassName(self, class_name) 2125 2126 def GetScriptedProcessDictionary(self): 2127 r"""GetScriptedProcessDictionary(SBAttachInfo self) -> SBStructuredData""" 2128 return _lldb.SBAttachInfo_GetScriptedProcessDictionary(self) 2129 2130 def SetScriptedProcessDictionary(self, dict): 2131 r"""SetScriptedProcessDictionary(SBAttachInfo self, SBStructuredData dict)""" 2132 return _lldb.SBAttachInfo_SetScriptedProcessDictionary(self, dict) 2133 2134# Register SBAttachInfo in _lldb: 2135_lldb.SBAttachInfo_swigregister(SBAttachInfo) 2136class SBBlock(object): 2137 r"""Represents a lexical block. SBFunction contains SBBlock(s).""" 2138 2139 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2140 2141 def __init__(self, *args): 2142 r""" 2143 __init__(SBBlock self) -> SBBlock 2144 __init__(SBBlock self, SBBlock rhs) -> SBBlock 2145 """ 2146 _lldb.SBBlock_swiginit(self, _lldb.new_SBBlock(*args)) 2147 __swig_destroy__ = _lldb.delete_SBBlock 2148 2149 def IsInlined(self): 2150 r""" 2151 IsInlined(SBBlock self) -> bool 2152 Is this block contained within an inlined function? 2153 """ 2154 return _lldb.SBBlock_IsInlined(self) 2155 2156 def __nonzero__(self): 2157 return _lldb.SBBlock___nonzero__(self) 2158 __bool__ = __nonzero__ 2159 2160 2161 2162 def IsValid(self): 2163 r"""IsValid(SBBlock self) -> bool""" 2164 return _lldb.SBBlock_IsValid(self) 2165 2166 def GetInlinedName(self): 2167 r""" 2168 GetInlinedName(SBBlock self) -> char const * 2169 2170 Get the function name if this block represents an inlined function; 2171 otherwise, return None. 2172 """ 2173 return _lldb.SBBlock_GetInlinedName(self) 2174 2175 def GetInlinedCallSiteFile(self): 2176 r""" 2177 GetInlinedCallSiteFile(SBBlock self) -> SBFileSpec 2178 2179 Get the call site file if this block represents an inlined function; 2180 otherwise, return an invalid file spec. 2181 """ 2182 return _lldb.SBBlock_GetInlinedCallSiteFile(self) 2183 2184 def GetInlinedCallSiteLine(self): 2185 r""" 2186 GetInlinedCallSiteLine(SBBlock self) -> uint32_t 2187 2188 Get the call site line if this block represents an inlined function; 2189 otherwise, return 0. 2190 """ 2191 return _lldb.SBBlock_GetInlinedCallSiteLine(self) 2192 2193 def GetInlinedCallSiteColumn(self): 2194 r""" 2195 GetInlinedCallSiteColumn(SBBlock self) -> uint32_t 2196 2197 Get the call site column if this block represents an inlined function; 2198 otherwise, return 0. 2199 """ 2200 return _lldb.SBBlock_GetInlinedCallSiteColumn(self) 2201 2202 def GetParent(self): 2203 r""" 2204 GetParent(SBBlock self) -> SBBlock 2205 Get the parent block. 2206 """ 2207 return _lldb.SBBlock_GetParent(self) 2208 2209 def GetSibling(self): 2210 r""" 2211 GetSibling(SBBlock self) -> SBBlock 2212 Get the sibling block for this block. 2213 """ 2214 return _lldb.SBBlock_GetSibling(self) 2215 2216 def GetFirstChild(self): 2217 r""" 2218 GetFirstChild(SBBlock self) -> SBBlock 2219 Get the first child block. 2220 """ 2221 return _lldb.SBBlock_GetFirstChild(self) 2222 2223 def GetNumRanges(self): 2224 r"""GetNumRanges(SBBlock self) -> uint32_t""" 2225 return _lldb.SBBlock_GetNumRanges(self) 2226 2227 def GetRangeStartAddress(self, idx): 2228 r"""GetRangeStartAddress(SBBlock self, uint32_t idx) -> SBAddress""" 2229 return _lldb.SBBlock_GetRangeStartAddress(self, idx) 2230 2231 def GetRangeEndAddress(self, idx): 2232 r"""GetRangeEndAddress(SBBlock self, uint32_t idx) -> SBAddress""" 2233 return _lldb.SBBlock_GetRangeEndAddress(self, idx) 2234 2235 def GetRangeIndexForBlockAddress(self, block_addr): 2236 r"""GetRangeIndexForBlockAddress(SBBlock self, SBAddress block_addr) -> uint32_t""" 2237 return _lldb.SBBlock_GetRangeIndexForBlockAddress(self, block_addr) 2238 2239 def GetVariables(self, *args): 2240 r""" 2241 GetVariables(SBBlock self, SBFrame frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic) -> SBValueList 2242 GetVariables(SBBlock self, SBTarget target, bool arguments, bool locals, bool statics) -> SBValueList 2243 """ 2244 return _lldb.SBBlock_GetVariables(self, *args) 2245 2246 def GetContainingInlinedBlock(self): 2247 r""" 2248 GetContainingInlinedBlock(SBBlock self) -> SBBlock 2249 Get the inlined block that is or contains this block. 2250 """ 2251 return _lldb.SBBlock_GetContainingInlinedBlock(self) 2252 2253 def GetDescription(self, description): 2254 r"""GetDescription(SBBlock self, SBStream description) -> bool""" 2255 return _lldb.SBBlock_GetDescription(self, description) 2256 2257 def __repr__(self): 2258 r"""__repr__(SBBlock self) -> std::string""" 2259 return _lldb.SBBlock___repr__(self) 2260 2261 def get_range_at_index(self, idx): 2262 if idx < self.GetNumRanges(): 2263 return [self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)] 2264 return [] 2265 2266 class ranges_access(object): 2267 '''A helper object that will lazily hand out an array of lldb.SBAddress that represent address ranges for a block.''' 2268 def __init__(self, sbblock): 2269 self.sbblock = sbblock 2270 2271 def __len__(self): 2272 if self.sbblock: 2273 return int(self.sbblock.GetNumRanges()) 2274 return 0 2275 2276 def __getitem__(self, key): 2277 count = len(self) 2278 if type(key) is int: 2279 return self.sbblock.get_range_at_index (key); 2280 if isinstance(key, SBAddress): 2281 range_idx = self.sbblock.GetRangeIndexForBlockAddress(key); 2282 if range_idx < len(self): 2283 return [self.sbblock.GetRangeStartAddress(range_idx), self.sbblock.GetRangeEndAddress(range_idx)] 2284 else: 2285 print("error: unsupported item type: %s" % type(key)) 2286 return None 2287 2288 def get_ranges_access_object(self): 2289 '''An accessor function that returns a ranges_access() object which allows lazy block address ranges access.''' 2290 return self.ranges_access (self) 2291 2292 def get_ranges_array(self): 2293 '''An accessor function that returns an array object that contains all ranges in this block object.''' 2294 if not hasattr(self, 'ranges_array'): 2295 self.ranges_array = [] 2296 for idx in range(self.num_ranges): 2297 self.ranges_array.append ([self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)]) 2298 return self.ranges_array 2299 2300 def get_call_site(self): 2301 return declaration(self.GetInlinedCallSiteFile(), self.GetInlinedCallSiteLine(), self.GetInlinedCallSiteColumn()) 2302 2303 parent = property(GetParent, None, doc='''A read only property that returns the same result as GetParent().''') 2304 first_child = property(GetFirstChild, None, doc='''A read only property that returns the same result as GetFirstChild().''') 2305 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.''') 2306 sibling = property(GetSibling, None, doc='''A read only property that returns the same result as GetSibling().''') 2307 name = property(GetInlinedName, None, doc='''A read only property that returns the same result as GetInlinedName().''') 2308 inlined_block = property(GetContainingInlinedBlock, None, doc='''A read only property that returns the same result as GetContainingInlinedBlock().''') 2309 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]").''') 2310 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.''') 2311 num_ranges = property(GetNumRanges, None, doc='''A read only property that returns the same result as GetNumRanges().''') 2312 2313 2314# Register SBBlock in _lldb: 2315_lldb.SBBlock_swigregister(SBBlock) 2316class SBBreakpoint(object): 2317 r""" 2318 Represents a logical breakpoint and its associated settings. 2319 2320 For example (from test/functionalities/breakpoint/breakpoint_ignore_count/ 2321 TestBreakpointIgnoreCount.py),:: 2322 2323 def breakpoint_ignore_count_python(self): 2324 '''Use Python APIs to set breakpoint ignore count.''' 2325 exe = os.path.join(os.getcwd(), 'a.out') 2326 2327 # Create a target by the debugger. 2328 target = self.dbg.CreateTarget(exe) 2329 self.assertTrue(target, VALID_TARGET) 2330 2331 # Now create a breakpoint on main.c by name 'c'. 2332 breakpoint = target.BreakpointCreateByName('c', 'a.out') 2333 self.assertTrue(breakpoint and 2334 breakpoint.GetNumLocations() == 1, 2335 VALID_BREAKPOINT) 2336 2337 # Get the breakpoint location from breakpoint after we verified that, 2338 # indeed, it has one location. 2339 location = breakpoint.GetLocationAtIndex(0) 2340 self.assertTrue(location and 2341 location.IsEnabled(), 2342 VALID_BREAKPOINT_LOCATION) 2343 2344 # Set the ignore count on the breakpoint location. 2345 location.SetIgnoreCount(2) 2346 self.assertTrue(location.GetIgnoreCount() == 2, 2347 'SetIgnoreCount() works correctly') 2348 2349 # Now launch the process, and do not stop at entry point. 2350 process = target.LaunchSimple(None, None, os.getcwd()) 2351 self.assertTrue(process, PROCESS_IS_VALID) 2352 2353 # Frame#0 should be on main.c:37, frame#1 should be on main.c:25, and 2354 # frame#2 should be on main.c:48. 2355 #lldbutil.print_stacktraces(process) 2356 from lldbutil import get_stopped_thread 2357 thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint) 2358 self.assertTrue(thread != None, 'There should be a thread stopped due to breakpoint') 2359 frame0 = thread.GetFrameAtIndex(0) 2360 frame1 = thread.GetFrameAtIndex(1) 2361 frame2 = thread.GetFrameAtIndex(2) 2362 self.assertTrue(frame0.GetLineEntry().GetLine() == self.line1 and 2363 frame1.GetLineEntry().GetLine() == self.line3 and 2364 frame2.GetLineEntry().GetLine() == self.line4, 2365 STOPPED_DUE_TO_BREAKPOINT_IGNORE_COUNT) 2366 2367 # The hit count for the breakpoint should be 3. 2368 self.assertTrue(breakpoint.GetHitCount() == 3) 2369 2370 process.Continue() 2371 2372 SBBreakpoint supports breakpoint location iteration, for example,:: 2373 2374 for bl in breakpoint: 2375 print('breakpoint location load addr: %s' % hex(bl.GetLoadAddress())) 2376 print('breakpoint location condition: %s' % hex(bl.GetCondition())) 2377 2378 and rich comparison methods which allow the API program to use,:: 2379 2380 if aBreakpoint == bBreakpoint: 2381 ... 2382 2383 to compare two breakpoints for equality. 2384 """ 2385 2386 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2387 2388 def __init__(self, *args): 2389 r""" 2390 __init__(SBBreakpoint self) -> SBBreakpoint 2391 __init__(SBBreakpoint self, SBBreakpoint rhs) -> SBBreakpoint 2392 """ 2393 _lldb.SBBreakpoint_swiginit(self, _lldb.new_SBBreakpoint(*args)) 2394 __swig_destroy__ = _lldb.delete_SBBreakpoint 2395 2396 def __eq__(self, rhs): 2397 r"""__eq__(SBBreakpoint self, SBBreakpoint rhs) -> bool""" 2398 return _lldb.SBBreakpoint___eq__(self, rhs) 2399 2400 def __ne__(self, rhs): 2401 r"""__ne__(SBBreakpoint self, SBBreakpoint rhs) -> bool""" 2402 return _lldb.SBBreakpoint___ne__(self, rhs) 2403 2404 def GetID(self): 2405 r"""GetID(SBBreakpoint self) -> lldb::break_id_t""" 2406 return _lldb.SBBreakpoint_GetID(self) 2407 2408 def __nonzero__(self): 2409 return _lldb.SBBreakpoint___nonzero__(self) 2410 __bool__ = __nonzero__ 2411 2412 2413 2414 def IsValid(self): 2415 r"""IsValid(SBBreakpoint self) -> bool""" 2416 return _lldb.SBBreakpoint_IsValid(self) 2417 2418 def ClearAllBreakpointSites(self): 2419 r"""ClearAllBreakpointSites(SBBreakpoint self)""" 2420 return _lldb.SBBreakpoint_ClearAllBreakpointSites(self) 2421 2422 def GetTarget(self): 2423 r"""GetTarget(SBBreakpoint self) -> SBTarget""" 2424 return _lldb.SBBreakpoint_GetTarget(self) 2425 2426 def FindLocationByAddress(self, vm_addr): 2427 r"""FindLocationByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> SBBreakpointLocation""" 2428 return _lldb.SBBreakpoint_FindLocationByAddress(self, vm_addr) 2429 2430 def FindLocationIDByAddress(self, vm_addr): 2431 r"""FindLocationIDByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> lldb::break_id_t""" 2432 return _lldb.SBBreakpoint_FindLocationIDByAddress(self, vm_addr) 2433 2434 def FindLocationByID(self, bp_loc_id): 2435 r"""FindLocationByID(SBBreakpoint self, lldb::break_id_t bp_loc_id) -> SBBreakpointLocation""" 2436 return _lldb.SBBreakpoint_FindLocationByID(self, bp_loc_id) 2437 2438 def GetLocationAtIndex(self, index): 2439 r"""GetLocationAtIndex(SBBreakpoint self, uint32_t index) -> SBBreakpointLocation""" 2440 return _lldb.SBBreakpoint_GetLocationAtIndex(self, index) 2441 2442 def SetEnabled(self, enable): 2443 r"""SetEnabled(SBBreakpoint self, bool enable)""" 2444 return _lldb.SBBreakpoint_SetEnabled(self, enable) 2445 2446 def IsEnabled(self): 2447 r"""IsEnabled(SBBreakpoint self) -> bool""" 2448 return _lldb.SBBreakpoint_IsEnabled(self) 2449 2450 def SetOneShot(self, one_shot): 2451 r"""SetOneShot(SBBreakpoint self, bool one_shot)""" 2452 return _lldb.SBBreakpoint_SetOneShot(self, one_shot) 2453 2454 def IsOneShot(self): 2455 r"""IsOneShot(SBBreakpoint self) -> bool""" 2456 return _lldb.SBBreakpoint_IsOneShot(self) 2457 2458 def IsInternal(self): 2459 r"""IsInternal(SBBreakpoint self) -> bool""" 2460 return _lldb.SBBreakpoint_IsInternal(self) 2461 2462 def GetHitCount(self): 2463 r"""GetHitCount(SBBreakpoint self) -> uint32_t""" 2464 return _lldb.SBBreakpoint_GetHitCount(self) 2465 2466 def SetIgnoreCount(self, count): 2467 r"""SetIgnoreCount(SBBreakpoint self, uint32_t count)""" 2468 return _lldb.SBBreakpoint_SetIgnoreCount(self, count) 2469 2470 def GetIgnoreCount(self): 2471 r"""GetIgnoreCount(SBBreakpoint self) -> uint32_t""" 2472 return _lldb.SBBreakpoint_GetIgnoreCount(self) 2473 2474 def SetCondition(self, condition): 2475 r""" 2476 SetCondition(SBBreakpoint self, char const * condition) 2477 2478 The breakpoint stops only if the condition expression evaluates to true. 2479 """ 2480 return _lldb.SBBreakpoint_SetCondition(self, condition) 2481 2482 def GetCondition(self): 2483 r""" 2484 GetCondition(SBBreakpoint self) -> char const * 2485 2486 Get the condition expression for the breakpoint. 2487 """ 2488 return _lldb.SBBreakpoint_GetCondition(self) 2489 2490 def SetAutoContinue(self, auto_continue): 2491 r"""SetAutoContinue(SBBreakpoint self, bool auto_continue)""" 2492 return _lldb.SBBreakpoint_SetAutoContinue(self, auto_continue) 2493 2494 def GetAutoContinue(self): 2495 r"""GetAutoContinue(SBBreakpoint self) -> bool""" 2496 return _lldb.SBBreakpoint_GetAutoContinue(self) 2497 2498 def SetThreadID(self, sb_thread_id): 2499 r"""SetThreadID(SBBreakpoint self, lldb::tid_t sb_thread_id)""" 2500 return _lldb.SBBreakpoint_SetThreadID(self, sb_thread_id) 2501 2502 def GetThreadID(self): 2503 r"""GetThreadID(SBBreakpoint self) -> lldb::tid_t""" 2504 return _lldb.SBBreakpoint_GetThreadID(self) 2505 2506 def SetThreadIndex(self, index): 2507 r"""SetThreadIndex(SBBreakpoint self, uint32_t index)""" 2508 return _lldb.SBBreakpoint_SetThreadIndex(self, index) 2509 2510 def GetThreadIndex(self): 2511 r"""GetThreadIndex(SBBreakpoint self) -> uint32_t""" 2512 return _lldb.SBBreakpoint_GetThreadIndex(self) 2513 2514 def SetThreadName(self, thread_name): 2515 r"""SetThreadName(SBBreakpoint self, char const * thread_name)""" 2516 return _lldb.SBBreakpoint_SetThreadName(self, thread_name) 2517 2518 def GetThreadName(self): 2519 r"""GetThreadName(SBBreakpoint self) -> char const *""" 2520 return _lldb.SBBreakpoint_GetThreadName(self) 2521 2522 def SetQueueName(self, queue_name): 2523 r"""SetQueueName(SBBreakpoint self, char const * queue_name)""" 2524 return _lldb.SBBreakpoint_SetQueueName(self, queue_name) 2525 2526 def GetQueueName(self): 2527 r"""GetQueueName(SBBreakpoint self) -> char const *""" 2528 return _lldb.SBBreakpoint_GetQueueName(self) 2529 2530 def SetScriptCallbackFunction(self, *args): 2531 r""" 2532 SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name) 2533 SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 2534 2535 Set the name of the script function to be called when the breakpoint is hit. 2536 To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and 2537 when the breakpoint is hit the extra_args will be passed to the callback function. 2538 """ 2539 return _lldb.SBBreakpoint_SetScriptCallbackFunction(self, *args) 2540 2541 def SetCommandLineCommands(self, commands): 2542 r"""SetCommandLineCommands(SBBreakpoint self, SBStringList commands)""" 2543 return _lldb.SBBreakpoint_SetCommandLineCommands(self, commands) 2544 2545 def GetCommandLineCommands(self, commands): 2546 r"""GetCommandLineCommands(SBBreakpoint self, SBStringList commands) -> bool""" 2547 return _lldb.SBBreakpoint_GetCommandLineCommands(self, commands) 2548 2549 def SetScriptCallbackBody(self, script_body_text): 2550 r""" 2551 SetScriptCallbackBody(SBBreakpoint self, char const * script_body_text) -> SBError 2552 2553 Provide the body for the script function to be called when the breakpoint is hit. 2554 The body will be wrapped in a function, which be passed two arguments: 2555 'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint 2556 'bpno' - which is the SBBreakpointLocation to which the callback was attached. 2557 2558 The error parameter is currently ignored, but will at some point hold the Python 2559 compilation diagnostics. 2560 Returns true if the body compiles successfully, false if not. 2561 """ 2562 return _lldb.SBBreakpoint_SetScriptCallbackBody(self, script_body_text) 2563 2564 def AddName(self, new_name): 2565 r"""AddName(SBBreakpoint self, char const * new_name) -> bool""" 2566 return _lldb.SBBreakpoint_AddName(self, new_name) 2567 2568 def AddNameWithErrorHandling(self, new_name): 2569 r"""AddNameWithErrorHandling(SBBreakpoint self, char const * new_name) -> SBError""" 2570 return _lldb.SBBreakpoint_AddNameWithErrorHandling(self, new_name) 2571 2572 def RemoveName(self, name_to_remove): 2573 r"""RemoveName(SBBreakpoint self, char const * name_to_remove)""" 2574 return _lldb.SBBreakpoint_RemoveName(self, name_to_remove) 2575 2576 def MatchesName(self, name): 2577 r"""MatchesName(SBBreakpoint self, char const * name) -> bool""" 2578 return _lldb.SBBreakpoint_MatchesName(self, name) 2579 2580 def GetNames(self, names): 2581 r"""GetNames(SBBreakpoint self, SBStringList names)""" 2582 return _lldb.SBBreakpoint_GetNames(self, names) 2583 2584 def GetNumResolvedLocations(self): 2585 r"""GetNumResolvedLocations(SBBreakpoint self) -> size_t""" 2586 return _lldb.SBBreakpoint_GetNumResolvedLocations(self) 2587 2588 def GetNumLocations(self): 2589 r"""GetNumLocations(SBBreakpoint self) -> size_t""" 2590 return _lldb.SBBreakpoint_GetNumLocations(self) 2591 2592 def GetDescription(self, *args): 2593 r""" 2594 GetDescription(SBBreakpoint self, SBStream description) -> bool 2595 GetDescription(SBBreakpoint self, SBStream description, bool include_locations) -> bool 2596 """ 2597 return _lldb.SBBreakpoint_GetDescription(self, *args) 2598 2599 @staticmethod 2600 def EventIsBreakpointEvent(event): 2601 r"""EventIsBreakpointEvent(SBEvent event) -> bool""" 2602 return _lldb.SBBreakpoint_EventIsBreakpointEvent(event) 2603 2604 @staticmethod 2605 def GetBreakpointEventTypeFromEvent(event): 2606 r"""GetBreakpointEventTypeFromEvent(SBEvent event) -> lldb::BreakpointEventType""" 2607 return _lldb.SBBreakpoint_GetBreakpointEventTypeFromEvent(event) 2608 2609 @staticmethod 2610 def GetBreakpointFromEvent(event): 2611 r"""GetBreakpointFromEvent(SBEvent event) -> SBBreakpoint""" 2612 return _lldb.SBBreakpoint_GetBreakpointFromEvent(event) 2613 2614 @staticmethod 2615 def GetBreakpointLocationAtIndexFromEvent(event, loc_idx): 2616 r"""GetBreakpointLocationAtIndexFromEvent(SBEvent event, uint32_t loc_idx) -> SBBreakpointLocation""" 2617 return _lldb.SBBreakpoint_GetBreakpointLocationAtIndexFromEvent(event, loc_idx) 2618 2619 @staticmethod 2620 def GetNumBreakpointLocationsFromEvent(event_sp): 2621 r"""GetNumBreakpointLocationsFromEvent(SBEvent event_sp) -> uint32_t""" 2622 return _lldb.SBBreakpoint_GetNumBreakpointLocationsFromEvent(event_sp) 2623 2624 def IsHardware(self): 2625 r"""IsHardware(SBBreakpoint self) -> bool""" 2626 return _lldb.SBBreakpoint_IsHardware(self) 2627 2628 def AddLocation(self, address): 2629 r"""AddLocation(SBBreakpoint self, SBAddress address) -> SBError""" 2630 return _lldb.SBBreakpoint_AddLocation(self, address) 2631 2632 def SerializeToStructuredData(self): 2633 r"""SerializeToStructuredData(SBBreakpoint self) -> SBStructuredData""" 2634 return _lldb.SBBreakpoint_SerializeToStructuredData(self) 2635 2636 def __repr__(self): 2637 r"""__repr__(SBBreakpoint self) -> std::string""" 2638 return _lldb.SBBreakpoint___repr__(self) 2639 2640 2641 class locations_access(object): 2642 '''A helper object that will lazily hand out locations for a breakpoint when supplied an index.''' 2643 def __init__(self, sbbreakpoint): 2644 self.sbbreakpoint = sbbreakpoint 2645 2646 def __len__(self): 2647 if self.sbbreakpoint: 2648 return int(self.sbbreakpoint.GetNumLocations()) 2649 return 0 2650 2651 def __getitem__(self, key): 2652 if isinstance(key, int): 2653 count = len(self) 2654 if -count <= key < count: 2655 key %= count 2656 return self.sbbreakpoint.GetLocationAtIndex(key) 2657 return None 2658 2659 def get_locations_access_object(self): 2660 '''An accessor function that returns a locations_access() object which allows lazy location access from a lldb.SBBreakpoint object.''' 2661 return self.locations_access (self) 2662 2663 def get_breakpoint_location_list(self): 2664 '''An accessor function that returns a list() that contains all locations in a lldb.SBBreakpoint object.''' 2665 locations = [] 2666 accessor = self.get_locations_access_object() 2667 for idx in range(len(accessor)): 2668 locations.append(accessor[idx]) 2669 return locations 2670 2671 def __iter__(self): 2672 '''Iterate over all breakpoint locations in a lldb.SBBreakpoint 2673 object.''' 2674 return lldb_iter(self, 'GetNumLocations', 'GetLocationAtIndex') 2675 2676 def __len__(self): 2677 '''Return the number of breakpoint locations in a lldb.SBBreakpoint 2678 object.''' 2679 return self.GetNumLocations() 2680 2681 locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''') 2682 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]).''') 2683 id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''') 2684 enabled = property(IsEnabled, SetEnabled, doc='''A read/write property that configures whether this breakpoint is enabled or not.''') 2685 one_shot = property(IsOneShot, SetOneShot, doc='''A read/write property that configures whether this breakpoint is one-shot (deleted when hit) or not.''') 2686 num_locations = property(GetNumLocations, None, doc='''A read only property that returns the count of locations of this breakpoint.''') 2687 2688 2689 def __eq__(self, rhs): 2690 if not isinstance(rhs, type(self)): 2691 return False 2692 2693 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 2694 2695 def __ne__(self, rhs): 2696 if not isinstance(rhs, type(self)): 2697 return True 2698 2699 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 2700 2701 2702# Register SBBreakpoint in _lldb: 2703_lldb.SBBreakpoint_swigregister(SBBreakpoint) 2704class SBBreakpointList(object): 2705 r"""Represents a list of :py:class:`SBBreakpoint`.""" 2706 2707 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2708 __repr__ = _swig_repr 2709 2710 def __init__(self, target): 2711 r"""__init__(SBBreakpointList self, SBTarget target) -> SBBreakpointList""" 2712 _lldb.SBBreakpointList_swiginit(self, _lldb.new_SBBreakpointList(target)) 2713 __swig_destroy__ = _lldb.delete_SBBreakpointList 2714 2715 def GetSize(self): 2716 r"""GetSize(SBBreakpointList self) -> size_t""" 2717 return _lldb.SBBreakpointList_GetSize(self) 2718 2719 def GetBreakpointAtIndex(self, idx): 2720 r"""GetBreakpointAtIndex(SBBreakpointList self, size_t idx) -> SBBreakpoint""" 2721 return _lldb.SBBreakpointList_GetBreakpointAtIndex(self, idx) 2722 2723 def FindBreakpointByID(self, arg2): 2724 r"""FindBreakpointByID(SBBreakpointList self, lldb::break_id_t arg2) -> SBBreakpoint""" 2725 return _lldb.SBBreakpointList_FindBreakpointByID(self, arg2) 2726 2727 def Append(self, sb_bkpt): 2728 r"""Append(SBBreakpointList self, SBBreakpoint sb_bkpt)""" 2729 return _lldb.SBBreakpointList_Append(self, sb_bkpt) 2730 2731 def AppendIfUnique(self, sb_bkpt): 2732 r"""AppendIfUnique(SBBreakpointList self, SBBreakpoint sb_bkpt) -> bool""" 2733 return _lldb.SBBreakpointList_AppendIfUnique(self, sb_bkpt) 2734 2735 def AppendByID(self, id): 2736 r"""AppendByID(SBBreakpointList self, lldb::break_id_t id)""" 2737 return _lldb.SBBreakpointList_AppendByID(self, id) 2738 2739 def Clear(self): 2740 r"""Clear(SBBreakpointList self)""" 2741 return _lldb.SBBreakpointList_Clear(self) 2742 2743 def __len__(self): 2744 '''Return the number of breakpoints in a lldb.SBBreakpointList object.''' 2745 return self.GetSize() 2746 2747 def __iter__(self): 2748 '''Iterate over all breakpoints in a lldb.SBBreakpointList object.''' 2749 return lldb_iter(self, 'GetSize', 'GetBreakpointAtIndex') 2750 2751 2752# Register SBBreakpointList in _lldb: 2753_lldb.SBBreakpointList_swigregister(SBBreakpointList) 2754class SBBreakpointLocation(object): 2755 r""" 2756 Represents one unique instance (by address) of a logical breakpoint. 2757 2758 A breakpoint location is defined by the breakpoint that produces it, 2759 and the address that resulted in this particular instantiation. 2760 Each breakpoint location has its settable options. 2761 2762 :py:class:`SBBreakpoint` contains SBBreakpointLocation(s). See docstring of SBBreakpoint 2763 for retrieval of an SBBreakpointLocation from an SBBreakpoint. 2764 """ 2765 2766 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2767 2768 def __init__(self, *args): 2769 r""" 2770 __init__(SBBreakpointLocation self) -> SBBreakpointLocation 2771 __init__(SBBreakpointLocation self, SBBreakpointLocation rhs) -> SBBreakpointLocation 2772 """ 2773 _lldb.SBBreakpointLocation_swiginit(self, _lldb.new_SBBreakpointLocation(*args)) 2774 __swig_destroy__ = _lldb.delete_SBBreakpointLocation 2775 2776 def GetID(self): 2777 r"""GetID(SBBreakpointLocation self) -> lldb::break_id_t""" 2778 return _lldb.SBBreakpointLocation_GetID(self) 2779 2780 def __nonzero__(self): 2781 return _lldb.SBBreakpointLocation___nonzero__(self) 2782 __bool__ = __nonzero__ 2783 2784 2785 2786 def IsValid(self): 2787 r"""IsValid(SBBreakpointLocation self) -> bool""" 2788 return _lldb.SBBreakpointLocation_IsValid(self) 2789 2790 def GetAddress(self): 2791 r"""GetAddress(SBBreakpointLocation self) -> SBAddress""" 2792 return _lldb.SBBreakpointLocation_GetAddress(self) 2793 2794 def GetLoadAddress(self): 2795 r"""GetLoadAddress(SBBreakpointLocation self) -> lldb::addr_t""" 2796 return _lldb.SBBreakpointLocation_GetLoadAddress(self) 2797 2798 def SetEnabled(self, enabled): 2799 r"""SetEnabled(SBBreakpointLocation self, bool enabled)""" 2800 return _lldb.SBBreakpointLocation_SetEnabled(self, enabled) 2801 2802 def IsEnabled(self): 2803 r"""IsEnabled(SBBreakpointLocation self) -> bool""" 2804 return _lldb.SBBreakpointLocation_IsEnabled(self) 2805 2806 def GetHitCount(self): 2807 r"""GetHitCount(SBBreakpointLocation self) -> uint32_t""" 2808 return _lldb.SBBreakpointLocation_GetHitCount(self) 2809 2810 def GetIgnoreCount(self): 2811 r"""GetIgnoreCount(SBBreakpointLocation self) -> uint32_t""" 2812 return _lldb.SBBreakpointLocation_GetIgnoreCount(self) 2813 2814 def SetIgnoreCount(self, n): 2815 r"""SetIgnoreCount(SBBreakpointLocation self, uint32_t n)""" 2816 return _lldb.SBBreakpointLocation_SetIgnoreCount(self, n) 2817 2818 def SetCondition(self, condition): 2819 r""" 2820 SetCondition(SBBreakpointLocation self, char const * condition) 2821 2822 The breakpoint location stops only if the condition expression evaluates 2823 to true. 2824 """ 2825 return _lldb.SBBreakpointLocation_SetCondition(self, condition) 2826 2827 def GetCondition(self): 2828 r""" 2829 GetCondition(SBBreakpointLocation self) -> char const * 2830 2831 Get the condition expression for the breakpoint location. 2832 """ 2833 return _lldb.SBBreakpointLocation_GetCondition(self) 2834 2835 def SetAutoContinue(self, auto_continue): 2836 r"""SetAutoContinue(SBBreakpointLocation self, bool auto_continue)""" 2837 return _lldb.SBBreakpointLocation_SetAutoContinue(self, auto_continue) 2838 2839 def GetAutoContinue(self): 2840 r"""GetAutoContinue(SBBreakpointLocation self) -> bool""" 2841 return _lldb.SBBreakpointLocation_GetAutoContinue(self) 2842 2843 def SetScriptCallbackFunction(self, *args): 2844 r""" 2845 SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name) 2846 SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 2847 2848 Set the name of the script function to be called when the breakpoint is hit. 2849 To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and 2850 when the breakpoint is hit the extra_args will be passed to the callback function. 2851 """ 2852 return _lldb.SBBreakpointLocation_SetScriptCallbackFunction(self, *args) 2853 2854 def SetScriptCallbackBody(self, script_body_text): 2855 r""" 2856 SetScriptCallbackBody(SBBreakpointLocation self, char const * script_body_text) -> SBError 2857 2858 Provide the body for the script function to be called when the breakpoint location is hit. 2859 The body will be wrapped in a function, which be passed two arguments: 2860 'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint 2861 'bpno' - which is the SBBreakpointLocation to which the callback was attached. 2862 2863 The error parameter is currently ignored, but will at some point hold the Python 2864 compilation diagnostics. 2865 Returns true if the body compiles successfully, false if not. 2866 """ 2867 return _lldb.SBBreakpointLocation_SetScriptCallbackBody(self, script_body_text) 2868 2869 def SetCommandLineCommands(self, commands): 2870 r"""SetCommandLineCommands(SBBreakpointLocation self, SBStringList commands)""" 2871 return _lldb.SBBreakpointLocation_SetCommandLineCommands(self, commands) 2872 2873 def GetCommandLineCommands(self, commands): 2874 r"""GetCommandLineCommands(SBBreakpointLocation self, SBStringList commands) -> bool""" 2875 return _lldb.SBBreakpointLocation_GetCommandLineCommands(self, commands) 2876 2877 def SetThreadID(self, sb_thread_id): 2878 r"""SetThreadID(SBBreakpointLocation self, lldb::tid_t sb_thread_id)""" 2879 return _lldb.SBBreakpointLocation_SetThreadID(self, sb_thread_id) 2880 2881 def GetThreadID(self): 2882 r"""GetThreadID(SBBreakpointLocation self) -> lldb::tid_t""" 2883 return _lldb.SBBreakpointLocation_GetThreadID(self) 2884 2885 def SetThreadIndex(self, index): 2886 r"""SetThreadIndex(SBBreakpointLocation self, uint32_t index)""" 2887 return _lldb.SBBreakpointLocation_SetThreadIndex(self, index) 2888 2889 def GetThreadIndex(self): 2890 r"""GetThreadIndex(SBBreakpointLocation self) -> uint32_t""" 2891 return _lldb.SBBreakpointLocation_GetThreadIndex(self) 2892 2893 def SetThreadName(self, thread_name): 2894 r"""SetThreadName(SBBreakpointLocation self, char const * thread_name)""" 2895 return _lldb.SBBreakpointLocation_SetThreadName(self, thread_name) 2896 2897 def GetThreadName(self): 2898 r"""GetThreadName(SBBreakpointLocation self) -> char const *""" 2899 return _lldb.SBBreakpointLocation_GetThreadName(self) 2900 2901 def SetQueueName(self, queue_name): 2902 r"""SetQueueName(SBBreakpointLocation self, char const * queue_name)""" 2903 return _lldb.SBBreakpointLocation_SetQueueName(self, queue_name) 2904 2905 def GetQueueName(self): 2906 r"""GetQueueName(SBBreakpointLocation self) -> char const *""" 2907 return _lldb.SBBreakpointLocation_GetQueueName(self) 2908 2909 def IsResolved(self): 2910 r"""IsResolved(SBBreakpointLocation self) -> bool""" 2911 return _lldb.SBBreakpointLocation_IsResolved(self) 2912 2913 def GetDescription(self, description, level): 2914 r"""GetDescription(SBBreakpointLocation self, SBStream description, lldb::DescriptionLevel level) -> bool""" 2915 return _lldb.SBBreakpointLocation_GetDescription(self, description, level) 2916 2917 def GetBreakpoint(self): 2918 r"""GetBreakpoint(SBBreakpointLocation self) -> SBBreakpoint""" 2919 return _lldb.SBBreakpointLocation_GetBreakpoint(self) 2920 2921 def __repr__(self): 2922 r"""__repr__(SBBreakpointLocation self) -> std::string""" 2923 return _lldb.SBBreakpointLocation___repr__(self) 2924 2925 # operator== is a free function, which swig does not handle, so we inject 2926 # our own equality operator here 2927 def __eq__(self, other): 2928 return not self.__ne__(other) 2929 2930 2931# Register SBBreakpointLocation in _lldb: 2932_lldb.SBBreakpointLocation_swigregister(SBBreakpointLocation) 2933class SBBreakpointName(object): 2934 r""" 2935 Represents a breakpoint name registered in a given :py:class:`SBTarget`. 2936 2937 Breakpoint names provide a way to act on groups of breakpoints. When you add a 2938 name to a group of breakpoints, you can then use the name in all the command 2939 line lldb commands for that name. You can also configure the SBBreakpointName 2940 options and those options will be propagated to any :py:class:`SBBreakpoint` s currently 2941 using that name. Adding a name to a breakpoint will also apply any of the 2942 set options to that breakpoint. 2943 2944 You can also set permissions on a breakpoint name to disable listing, deleting 2945 and disabling breakpoints. That will disallow the given operation for breakpoints 2946 except when the breakpoint is mentioned by ID. So for instance deleting all the 2947 breakpoints won't delete breakpoints so marked. 2948 """ 2949 2950 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 2951 2952 def __init__(self, *args): 2953 r""" 2954 __init__(SBBreakpointName self) -> SBBreakpointName 2955 __init__(SBBreakpointName self, SBTarget target, char const * name) -> SBBreakpointName 2956 __init__(SBBreakpointName self, SBBreakpoint bkpt, char const * name) -> SBBreakpointName 2957 __init__(SBBreakpointName self, SBBreakpointName rhs) -> SBBreakpointName 2958 """ 2959 _lldb.SBBreakpointName_swiginit(self, _lldb.new_SBBreakpointName(*args)) 2960 __swig_destroy__ = _lldb.delete_SBBreakpointName 2961 2962 def __eq__(self, rhs): 2963 r"""__eq__(SBBreakpointName self, SBBreakpointName rhs) -> bool""" 2964 return _lldb.SBBreakpointName___eq__(self, rhs) 2965 2966 def __ne__(self, rhs): 2967 r"""__ne__(SBBreakpointName self, SBBreakpointName rhs) -> bool""" 2968 return _lldb.SBBreakpointName___ne__(self, rhs) 2969 2970 def __nonzero__(self): 2971 return _lldb.SBBreakpointName___nonzero__(self) 2972 __bool__ = __nonzero__ 2973 2974 2975 2976 def IsValid(self): 2977 r"""IsValid(SBBreakpointName self) -> bool""" 2978 return _lldb.SBBreakpointName_IsValid(self) 2979 2980 def GetName(self): 2981 r"""GetName(SBBreakpointName self) -> char const *""" 2982 return _lldb.SBBreakpointName_GetName(self) 2983 2984 def SetEnabled(self, enable): 2985 r"""SetEnabled(SBBreakpointName self, bool enable)""" 2986 return _lldb.SBBreakpointName_SetEnabled(self, enable) 2987 2988 def IsEnabled(self): 2989 r"""IsEnabled(SBBreakpointName self) -> bool""" 2990 return _lldb.SBBreakpointName_IsEnabled(self) 2991 2992 def SetOneShot(self, one_shot): 2993 r"""SetOneShot(SBBreakpointName self, bool one_shot)""" 2994 return _lldb.SBBreakpointName_SetOneShot(self, one_shot) 2995 2996 def IsOneShot(self): 2997 r"""IsOneShot(SBBreakpointName self) -> bool""" 2998 return _lldb.SBBreakpointName_IsOneShot(self) 2999 3000 def SetIgnoreCount(self, count): 3001 r"""SetIgnoreCount(SBBreakpointName self, uint32_t count)""" 3002 return _lldb.SBBreakpointName_SetIgnoreCount(self, count) 3003 3004 def GetIgnoreCount(self): 3005 r"""GetIgnoreCount(SBBreakpointName self) -> uint32_t""" 3006 return _lldb.SBBreakpointName_GetIgnoreCount(self) 3007 3008 def SetCondition(self, condition): 3009 r"""SetCondition(SBBreakpointName self, char const * condition)""" 3010 return _lldb.SBBreakpointName_SetCondition(self, condition) 3011 3012 def GetCondition(self): 3013 r"""GetCondition(SBBreakpointName self) -> char const *""" 3014 return _lldb.SBBreakpointName_GetCondition(self) 3015 3016 def SetAutoContinue(self, auto_continue): 3017 r"""SetAutoContinue(SBBreakpointName self, bool auto_continue)""" 3018 return _lldb.SBBreakpointName_SetAutoContinue(self, auto_continue) 3019 3020 def GetAutoContinue(self): 3021 r"""GetAutoContinue(SBBreakpointName self) -> bool""" 3022 return _lldb.SBBreakpointName_GetAutoContinue(self) 3023 3024 def SetThreadID(self, sb_thread_id): 3025 r"""SetThreadID(SBBreakpointName self, lldb::tid_t sb_thread_id)""" 3026 return _lldb.SBBreakpointName_SetThreadID(self, sb_thread_id) 3027 3028 def GetThreadID(self): 3029 r"""GetThreadID(SBBreakpointName self) -> lldb::tid_t""" 3030 return _lldb.SBBreakpointName_GetThreadID(self) 3031 3032 def SetThreadIndex(self, index): 3033 r"""SetThreadIndex(SBBreakpointName self, uint32_t index)""" 3034 return _lldb.SBBreakpointName_SetThreadIndex(self, index) 3035 3036 def GetThreadIndex(self): 3037 r"""GetThreadIndex(SBBreakpointName self) -> uint32_t""" 3038 return _lldb.SBBreakpointName_GetThreadIndex(self) 3039 3040 def SetThreadName(self, thread_name): 3041 r"""SetThreadName(SBBreakpointName self, char const * thread_name)""" 3042 return _lldb.SBBreakpointName_SetThreadName(self, thread_name) 3043 3044 def GetThreadName(self): 3045 r"""GetThreadName(SBBreakpointName self) -> char const *""" 3046 return _lldb.SBBreakpointName_GetThreadName(self) 3047 3048 def SetQueueName(self, queue_name): 3049 r"""SetQueueName(SBBreakpointName self, char const * queue_name)""" 3050 return _lldb.SBBreakpointName_SetQueueName(self, queue_name) 3051 3052 def GetQueueName(self): 3053 r"""GetQueueName(SBBreakpointName self) -> char const *""" 3054 return _lldb.SBBreakpointName_GetQueueName(self) 3055 3056 def SetScriptCallbackFunction(self, *args): 3057 r""" 3058 SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name) 3059 SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name, SBStructuredData extra_args) -> SBError 3060 """ 3061 return _lldb.SBBreakpointName_SetScriptCallbackFunction(self, *args) 3062 3063 def SetCommandLineCommands(self, commands): 3064 r"""SetCommandLineCommands(SBBreakpointName self, SBStringList commands)""" 3065 return _lldb.SBBreakpointName_SetCommandLineCommands(self, commands) 3066 3067 def GetCommandLineCommands(self, commands): 3068 r"""GetCommandLineCommands(SBBreakpointName self, SBStringList commands) -> bool""" 3069 return _lldb.SBBreakpointName_GetCommandLineCommands(self, commands) 3070 3071 def SetScriptCallbackBody(self, script_body_text): 3072 r"""SetScriptCallbackBody(SBBreakpointName self, char const * script_body_text) -> SBError""" 3073 return _lldb.SBBreakpointName_SetScriptCallbackBody(self, script_body_text) 3074 3075 def GetHelpString(self): 3076 r"""GetHelpString(SBBreakpointName self) -> char const *""" 3077 return _lldb.SBBreakpointName_GetHelpString(self) 3078 3079 def SetHelpString(self, help_string): 3080 r"""SetHelpString(SBBreakpointName self, char const * help_string)""" 3081 return _lldb.SBBreakpointName_SetHelpString(self, help_string) 3082 3083 def GetAllowList(self): 3084 r"""GetAllowList(SBBreakpointName self) -> bool""" 3085 return _lldb.SBBreakpointName_GetAllowList(self) 3086 3087 def SetAllowList(self, value): 3088 r"""SetAllowList(SBBreakpointName self, bool value)""" 3089 return _lldb.SBBreakpointName_SetAllowList(self, value) 3090 3091 def GetAllowDelete(self): 3092 r"""GetAllowDelete(SBBreakpointName self) -> bool""" 3093 return _lldb.SBBreakpointName_GetAllowDelete(self) 3094 3095 def SetAllowDelete(self, value): 3096 r"""SetAllowDelete(SBBreakpointName self, bool value)""" 3097 return _lldb.SBBreakpointName_SetAllowDelete(self, value) 3098 3099 def GetAllowDisable(self): 3100 r"""GetAllowDisable(SBBreakpointName self) -> bool""" 3101 return _lldb.SBBreakpointName_GetAllowDisable(self) 3102 3103 def SetAllowDisable(self, value): 3104 r"""SetAllowDisable(SBBreakpointName self, bool value)""" 3105 return _lldb.SBBreakpointName_SetAllowDisable(self, value) 3106 3107 def GetDescription(self, description): 3108 r"""GetDescription(SBBreakpointName self, SBStream description) -> bool""" 3109 return _lldb.SBBreakpointName_GetDescription(self, description) 3110 3111 def __repr__(self): 3112 r"""__repr__(SBBreakpointName self) -> std::string""" 3113 return _lldb.SBBreakpointName___repr__(self) 3114 3115 # operator== is a free function, which swig does not handle, so we inject 3116 # our own equality operator here 3117 def __eq__(self, other): 3118 return not self.__ne__(other) 3119 3120 3121# Register SBBreakpointName in _lldb: 3122_lldb.SBBreakpointName_swigregister(SBBreakpointName) 3123class SBBroadcaster(object): 3124 r""" 3125 Represents an entity which can broadcast events. 3126 3127 A default broadcaster is 3128 associated with an SBCommandInterpreter, SBProcess, and SBTarget. For 3129 example, use :: 3130 3131 broadcaster = process.GetBroadcaster() 3132 3133 to retrieve the process's broadcaster. 3134 3135 See also SBEvent for example usage of interacting with a broadcaster. 3136 """ 3137 3138 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3139 __repr__ = _swig_repr 3140 3141 def __init__(self, *args): 3142 r""" 3143 __init__(SBBroadcaster self) -> SBBroadcaster 3144 __init__(SBBroadcaster self, char const * name) -> SBBroadcaster 3145 __init__(SBBroadcaster self, SBBroadcaster rhs) -> SBBroadcaster 3146 """ 3147 _lldb.SBBroadcaster_swiginit(self, _lldb.new_SBBroadcaster(*args)) 3148 __swig_destroy__ = _lldb.delete_SBBroadcaster 3149 3150 def __nonzero__(self): 3151 return _lldb.SBBroadcaster___nonzero__(self) 3152 __bool__ = __nonzero__ 3153 3154 3155 3156 def IsValid(self): 3157 r"""IsValid(SBBroadcaster self) -> bool""" 3158 return _lldb.SBBroadcaster_IsValid(self) 3159 3160 def Clear(self): 3161 r"""Clear(SBBroadcaster self)""" 3162 return _lldb.SBBroadcaster_Clear(self) 3163 3164 def BroadcastEventByType(self, event_type, unique=False): 3165 r"""BroadcastEventByType(SBBroadcaster self, uint32_t event_type, bool unique=False)""" 3166 return _lldb.SBBroadcaster_BroadcastEventByType(self, event_type, unique) 3167 3168 def BroadcastEvent(self, event, unique=False): 3169 r"""BroadcastEvent(SBBroadcaster self, SBEvent event, bool unique=False)""" 3170 return _lldb.SBBroadcaster_BroadcastEvent(self, event, unique) 3171 3172 def AddInitialEventsToListener(self, listener, requested_events): 3173 r"""AddInitialEventsToListener(SBBroadcaster self, SBListener listener, uint32_t requested_events)""" 3174 return _lldb.SBBroadcaster_AddInitialEventsToListener(self, listener, requested_events) 3175 3176 def AddListener(self, listener, event_mask): 3177 r"""AddListener(SBBroadcaster self, SBListener listener, uint32_t event_mask) -> uint32_t""" 3178 return _lldb.SBBroadcaster_AddListener(self, listener, event_mask) 3179 3180 def GetName(self): 3181 r"""GetName(SBBroadcaster self) -> char const *""" 3182 return _lldb.SBBroadcaster_GetName(self) 3183 3184 def EventTypeHasListeners(self, event_type): 3185 r"""EventTypeHasListeners(SBBroadcaster self, uint32_t event_type) -> bool""" 3186 return _lldb.SBBroadcaster_EventTypeHasListeners(self, event_type) 3187 3188 def RemoveListener(self, *args): 3189 r"""RemoveListener(SBBroadcaster self, SBListener listener, uint32_t event_mask=4294967295U) -> bool""" 3190 return _lldb.SBBroadcaster_RemoveListener(self, *args) 3191 3192 def __eq__(self, rhs): 3193 r"""__eq__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3194 return _lldb.SBBroadcaster___eq__(self, rhs) 3195 3196 def __ne__(self, rhs): 3197 r"""__ne__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3198 return _lldb.SBBroadcaster___ne__(self, rhs) 3199 3200 def __lt__(self, rhs): 3201 r"""__lt__(SBBroadcaster self, SBBroadcaster rhs) -> bool""" 3202 return _lldb.SBBroadcaster___lt__(self, rhs) 3203 3204 # operator== is a free function, which swig does not handle, so we inject 3205 # our own equality operator here 3206 def __eq__(self, other): 3207 return not self.__ne__(other) 3208 3209 3210 def __eq__(self, rhs): 3211 if not isinstance(rhs, type(self)): 3212 return False 3213 3214 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 3215 3216 def __ne__(self, rhs): 3217 if not isinstance(rhs, type(self)): 3218 return True 3219 3220 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 3221 3222 3223# Register SBBroadcaster in _lldb: 3224_lldb.SBBroadcaster_swigregister(SBBroadcaster) 3225class SBCommandInterpreter(object): 3226 r""" 3227 SBCommandInterpreter handles/interprets commands for lldb. 3228 3229 You get the command interpreter from the :py:class:`SBDebugger` instance. 3230 3231 For example (from test/ python_api/interpreter/TestCommandInterpreterAPI.py),:: 3232 3233 def command_interpreter_api(self): 3234 '''Test the SBCommandInterpreter APIs.''' 3235 exe = os.path.join(os.getcwd(), 'a.out') 3236 3237 # Create a target by the debugger. 3238 target = self.dbg.CreateTarget(exe) 3239 self.assertTrue(target, VALID_TARGET) 3240 3241 # Retrieve the associated command interpreter from our debugger. 3242 ci = self.dbg.GetCommandInterpreter() 3243 self.assertTrue(ci, VALID_COMMAND_INTERPRETER) 3244 3245 # Exercise some APIs.... 3246 3247 self.assertTrue(ci.HasCommands()) 3248 self.assertTrue(ci.HasAliases()) 3249 self.assertTrue(ci.HasAliasOptions()) 3250 self.assertTrue(ci.CommandExists('breakpoint')) 3251 self.assertTrue(ci.CommandExists('target')) 3252 self.assertTrue(ci.CommandExists('platform')) 3253 self.assertTrue(ci.AliasExists('file')) 3254 self.assertTrue(ci.AliasExists('run')) 3255 self.assertTrue(ci.AliasExists('bt')) 3256 3257 res = lldb.SBCommandReturnObject() 3258 ci.HandleCommand('breakpoint set -f main.c -l %d' % self.line, res) 3259 self.assertTrue(res.Succeeded()) 3260 ci.HandleCommand('process launch', res) 3261 self.assertTrue(res.Succeeded()) 3262 3263 process = ci.GetProcess() 3264 self.assertTrue(process) 3265 3266 ... 3267 3268 The HandleCommand() instance method takes two args: the command string and 3269 an SBCommandReturnObject instance which encapsulates the result of command 3270 execution. 3271 """ 3272 3273 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3274 __repr__ = _swig_repr 3275 eBroadcastBitThreadShouldExit = _lldb.SBCommandInterpreter_eBroadcastBitThreadShouldExit 3276 3277 eBroadcastBitResetPrompt = _lldb.SBCommandInterpreter_eBroadcastBitResetPrompt 3278 3279 eBroadcastBitQuitCommandReceived = _lldb.SBCommandInterpreter_eBroadcastBitQuitCommandReceived 3280 3281 eBroadcastBitAsynchronousOutputData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousOutputData 3282 3283 eBroadcastBitAsynchronousErrorData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousErrorData 3284 3285 3286 def __init__(self, *args): 3287 r""" 3288 __init__(SBCommandInterpreter self) -> SBCommandInterpreter 3289 __init__(SBCommandInterpreter self, SBCommandInterpreter rhs) -> SBCommandInterpreter 3290 """ 3291 _lldb.SBCommandInterpreter_swiginit(self, _lldb.new_SBCommandInterpreter(*args)) 3292 __swig_destroy__ = _lldb.delete_SBCommandInterpreter 3293 3294 @staticmethod 3295 def GetArgumentTypeAsCString(arg_type): 3296 r"""GetArgumentTypeAsCString(lldb::CommandArgumentType const arg_type) -> char const *""" 3297 return _lldb.SBCommandInterpreter_GetArgumentTypeAsCString(arg_type) 3298 3299 @staticmethod 3300 def GetArgumentDescriptionAsCString(arg_type): 3301 r"""GetArgumentDescriptionAsCString(lldb::CommandArgumentType const arg_type) -> char const *""" 3302 return _lldb.SBCommandInterpreter_GetArgumentDescriptionAsCString(arg_type) 3303 3304 @staticmethod 3305 def EventIsCommandInterpreterEvent(event): 3306 r"""EventIsCommandInterpreterEvent(SBEvent event) -> bool""" 3307 return _lldb.SBCommandInterpreter_EventIsCommandInterpreterEvent(event) 3308 3309 def __nonzero__(self): 3310 return _lldb.SBCommandInterpreter___nonzero__(self) 3311 __bool__ = __nonzero__ 3312 3313 3314 3315 def IsValid(self): 3316 r"""IsValid(SBCommandInterpreter self) -> bool""" 3317 return _lldb.SBCommandInterpreter_IsValid(self) 3318 3319 def CommandExists(self, cmd): 3320 r"""CommandExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3321 return _lldb.SBCommandInterpreter_CommandExists(self, cmd) 3322 3323 def UserCommandExists(self, cmd): 3324 r"""UserCommandExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3325 return _lldb.SBCommandInterpreter_UserCommandExists(self, cmd) 3326 3327 def AliasExists(self, cmd): 3328 r"""AliasExists(SBCommandInterpreter self, char const * cmd) -> bool""" 3329 return _lldb.SBCommandInterpreter_AliasExists(self, cmd) 3330 3331 def GetBroadcaster(self): 3332 r"""GetBroadcaster(SBCommandInterpreter self) -> SBBroadcaster""" 3333 return _lldb.SBCommandInterpreter_GetBroadcaster(self) 3334 3335 @staticmethod 3336 def GetBroadcasterClass(): 3337 r"""GetBroadcasterClass() -> char const *""" 3338 return _lldb.SBCommandInterpreter_GetBroadcasterClass() 3339 3340 def HasCommands(self): 3341 r"""HasCommands(SBCommandInterpreter self) -> bool""" 3342 return _lldb.SBCommandInterpreter_HasCommands(self) 3343 3344 def HasAliases(self): 3345 r"""HasAliases(SBCommandInterpreter self) -> bool""" 3346 return _lldb.SBCommandInterpreter_HasAliases(self) 3347 3348 def HasAliasOptions(self): 3349 r"""HasAliasOptions(SBCommandInterpreter self) -> bool""" 3350 return _lldb.SBCommandInterpreter_HasAliasOptions(self) 3351 3352 def IsInteractive(self): 3353 r"""IsInteractive(SBCommandInterpreter self) -> bool""" 3354 return _lldb.SBCommandInterpreter_IsInteractive(self) 3355 3356 def GetProcess(self): 3357 r"""GetProcess(SBCommandInterpreter self) -> SBProcess""" 3358 return _lldb.SBCommandInterpreter_GetProcess(self) 3359 3360 def GetDebugger(self): 3361 r"""GetDebugger(SBCommandInterpreter self) -> SBDebugger""" 3362 return _lldb.SBCommandInterpreter_GetDebugger(self) 3363 3364 def SourceInitFileInHomeDirectory(self, *args): 3365 r""" 3366 SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result) 3367 SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result, bool is_repl) 3368 """ 3369 return _lldb.SBCommandInterpreter_SourceInitFileInHomeDirectory(self, *args) 3370 3371 def SourceInitFileInCurrentWorkingDirectory(self, result): 3372 r"""SourceInitFileInCurrentWorkingDirectory(SBCommandInterpreter self, SBCommandReturnObject result)""" 3373 return _lldb.SBCommandInterpreter_SourceInitFileInCurrentWorkingDirectory(self, result) 3374 3375 def HandleCommand(self, *args): 3376 r""" 3377 HandleCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus 3378 HandleCommand(SBCommandInterpreter self, char const * command_line, SBExecutionContext exe_ctx, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus 3379 """ 3380 return _lldb.SBCommandInterpreter_HandleCommand(self, *args) 3381 3382 def HandleCommandsFromFile(self, file, override_context, options, result): 3383 r"""HandleCommandsFromFile(SBCommandInterpreter self, SBFileSpec file, SBExecutionContext override_context, SBCommandInterpreterRunOptions options, SBCommandReturnObject result)""" 3384 return _lldb.SBCommandInterpreter_HandleCommandsFromFile(self, file, override_context, options, result) 3385 3386 def HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches): 3387 r"""HandleCompletion(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches) -> int""" 3388 return _lldb.SBCommandInterpreter_HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches) 3389 3390 def HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions): 3391 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""" 3392 return _lldb.SBCommandInterpreter_HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions) 3393 3394 def WasInterrupted(self): 3395 r"""WasInterrupted(SBCommandInterpreter self) -> bool""" 3396 return _lldb.SBCommandInterpreter_WasInterrupted(self) 3397 3398 def InterruptCommand(self): 3399 r"""InterruptCommand(SBCommandInterpreter self) -> bool""" 3400 return _lldb.SBCommandInterpreter_InterruptCommand(self) 3401 3402 def IsActive(self): 3403 r"""IsActive(SBCommandInterpreter self) -> bool""" 3404 return _lldb.SBCommandInterpreter_IsActive(self) 3405 3406 def GetIOHandlerControlSequence(self, ch): 3407 r"""GetIOHandlerControlSequence(SBCommandInterpreter self, char ch) -> char const *""" 3408 return _lldb.SBCommandInterpreter_GetIOHandlerControlSequence(self, ch) 3409 3410 def GetPromptOnQuit(self): 3411 r"""GetPromptOnQuit(SBCommandInterpreter self) -> bool""" 3412 return _lldb.SBCommandInterpreter_GetPromptOnQuit(self) 3413 3414 def SetPromptOnQuit(self, b): 3415 r"""SetPromptOnQuit(SBCommandInterpreter self, bool b)""" 3416 return _lldb.SBCommandInterpreter_SetPromptOnQuit(self, b) 3417 3418 def AllowExitCodeOnQuit(self, allow): 3419 r"""AllowExitCodeOnQuit(SBCommandInterpreter self, bool allow)""" 3420 return _lldb.SBCommandInterpreter_AllowExitCodeOnQuit(self, allow) 3421 3422 def HasCustomQuitExitCode(self): 3423 r"""HasCustomQuitExitCode(SBCommandInterpreter self) -> bool""" 3424 return _lldb.SBCommandInterpreter_HasCustomQuitExitCode(self) 3425 3426 def GetQuitStatus(self): 3427 r"""GetQuitStatus(SBCommandInterpreter self) -> int""" 3428 return _lldb.SBCommandInterpreter_GetQuitStatus(self) 3429 3430 def ResolveCommand(self, command_line, result): 3431 r"""ResolveCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result)""" 3432 return _lldb.SBCommandInterpreter_ResolveCommand(self, command_line, result) 3433 3434 def GetStatistics(self): 3435 r"""GetStatistics(SBCommandInterpreter self) -> SBStructuredData""" 3436 return _lldb.SBCommandInterpreter_GetStatistics(self) 3437 3438# Register SBCommandInterpreter in _lldb: 3439_lldb.SBCommandInterpreter_swigregister(SBCommandInterpreter) 3440class SBCommandInterpreterRunOptions(object): 3441 r""" 3442 SBCommandInterpreterRunOptions controls how the RunCommandInterpreter runs the code it is fed. 3443 3444 A default SBCommandInterpreterRunOptions object has: 3445 3446 * StopOnContinue: false 3447 * StopOnError: false 3448 * StopOnCrash: false 3449 * EchoCommands: true 3450 * PrintResults: true 3451 * PrintErrors: true 3452 * AddToHistory: true 3453 3454 3455 """ 3456 3457 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3458 __repr__ = _swig_repr 3459 3460 def __init__(self, *args): 3461 r""" 3462 __init__(SBCommandInterpreterRunOptions self) -> SBCommandInterpreterRunOptions 3463 __init__(SBCommandInterpreterRunOptions self, SBCommandInterpreterRunOptions rhs) -> SBCommandInterpreterRunOptions 3464 """ 3465 _lldb.SBCommandInterpreterRunOptions_swiginit(self, _lldb.new_SBCommandInterpreterRunOptions(*args)) 3466 __swig_destroy__ = _lldb.delete_SBCommandInterpreterRunOptions 3467 3468 def GetStopOnContinue(self): 3469 r"""GetStopOnContinue(SBCommandInterpreterRunOptions self) -> bool""" 3470 return _lldb.SBCommandInterpreterRunOptions_GetStopOnContinue(self) 3471 3472 def SetStopOnContinue(self, arg2): 3473 r"""SetStopOnContinue(SBCommandInterpreterRunOptions self, bool arg2)""" 3474 return _lldb.SBCommandInterpreterRunOptions_SetStopOnContinue(self, arg2) 3475 3476 def GetStopOnError(self): 3477 r"""GetStopOnError(SBCommandInterpreterRunOptions self) -> bool""" 3478 return _lldb.SBCommandInterpreterRunOptions_GetStopOnError(self) 3479 3480 def SetStopOnError(self, arg2): 3481 r"""SetStopOnError(SBCommandInterpreterRunOptions self, bool arg2)""" 3482 return _lldb.SBCommandInterpreterRunOptions_SetStopOnError(self, arg2) 3483 3484 def GetStopOnCrash(self): 3485 r"""GetStopOnCrash(SBCommandInterpreterRunOptions self) -> bool""" 3486 return _lldb.SBCommandInterpreterRunOptions_GetStopOnCrash(self) 3487 3488 def SetStopOnCrash(self, arg2): 3489 r"""SetStopOnCrash(SBCommandInterpreterRunOptions self, bool arg2)""" 3490 return _lldb.SBCommandInterpreterRunOptions_SetStopOnCrash(self, arg2) 3491 3492 def GetEchoCommands(self): 3493 r"""GetEchoCommands(SBCommandInterpreterRunOptions self) -> bool""" 3494 return _lldb.SBCommandInterpreterRunOptions_GetEchoCommands(self) 3495 3496 def SetEchoCommands(self, arg2): 3497 r"""SetEchoCommands(SBCommandInterpreterRunOptions self, bool arg2)""" 3498 return _lldb.SBCommandInterpreterRunOptions_SetEchoCommands(self, arg2) 3499 3500 def GetEchoCommentCommands(self): 3501 r"""GetEchoCommentCommands(SBCommandInterpreterRunOptions self) -> bool""" 3502 return _lldb.SBCommandInterpreterRunOptions_GetEchoCommentCommands(self) 3503 3504 def SetEchoCommentCommands(self, echo): 3505 r"""SetEchoCommentCommands(SBCommandInterpreterRunOptions self, bool echo)""" 3506 return _lldb.SBCommandInterpreterRunOptions_SetEchoCommentCommands(self, echo) 3507 3508 def GetPrintResults(self): 3509 r"""GetPrintResults(SBCommandInterpreterRunOptions self) -> bool""" 3510 return _lldb.SBCommandInterpreterRunOptions_GetPrintResults(self) 3511 3512 def SetPrintResults(self, arg2): 3513 r"""SetPrintResults(SBCommandInterpreterRunOptions self, bool arg2)""" 3514 return _lldb.SBCommandInterpreterRunOptions_SetPrintResults(self, arg2) 3515 3516 def GetPrintErrors(self): 3517 r"""GetPrintErrors(SBCommandInterpreterRunOptions self) -> bool""" 3518 return _lldb.SBCommandInterpreterRunOptions_GetPrintErrors(self) 3519 3520 def SetPrintErrors(self, arg2): 3521 r"""SetPrintErrors(SBCommandInterpreterRunOptions self, bool arg2)""" 3522 return _lldb.SBCommandInterpreterRunOptions_SetPrintErrors(self, arg2) 3523 3524 def GetAddToHistory(self): 3525 r"""GetAddToHistory(SBCommandInterpreterRunOptions self) -> bool""" 3526 return _lldb.SBCommandInterpreterRunOptions_GetAddToHistory(self) 3527 3528 def SetAddToHistory(self, arg2): 3529 r"""SetAddToHistory(SBCommandInterpreterRunOptions self, bool arg2)""" 3530 return _lldb.SBCommandInterpreterRunOptions_SetAddToHistory(self, arg2) 3531 3532 def GetAutoHandleEvents(self): 3533 r"""GetAutoHandleEvents(SBCommandInterpreterRunOptions self) -> bool""" 3534 return _lldb.SBCommandInterpreterRunOptions_GetAutoHandleEvents(self) 3535 3536 def SetAutoHandleEvents(self, arg2): 3537 r"""SetAutoHandleEvents(SBCommandInterpreterRunOptions self, bool arg2)""" 3538 return _lldb.SBCommandInterpreterRunOptions_SetAutoHandleEvents(self, arg2) 3539 3540 def GetSpawnThread(self): 3541 r"""GetSpawnThread(SBCommandInterpreterRunOptions self) -> bool""" 3542 return _lldb.SBCommandInterpreterRunOptions_GetSpawnThread(self) 3543 3544 def SetSpawnThread(self, arg2): 3545 r"""SetSpawnThread(SBCommandInterpreterRunOptions self, bool arg2)""" 3546 return _lldb.SBCommandInterpreterRunOptions_SetSpawnThread(self, arg2) 3547 3548# Register SBCommandInterpreterRunOptions in _lldb: 3549_lldb.SBCommandInterpreterRunOptions_swigregister(SBCommandInterpreterRunOptions) 3550class SBCommandReturnObject(object): 3551 r""" 3552 Represents a container which holds the result from command execution. 3553 It works with :py:class:`SBCommandInterpreter.HandleCommand()` to encapsulate the result 3554 of command execution. 3555 3556 See :py:class:`SBCommandInterpreter` for example usage of SBCommandReturnObject. 3557 """ 3558 3559 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3560 3561 def __init__(self, *args): 3562 r""" 3563 __init__(SBCommandReturnObject self) -> SBCommandReturnObject 3564 __init__(SBCommandReturnObject self, SBCommandReturnObject rhs) -> SBCommandReturnObject 3565 """ 3566 _lldb.SBCommandReturnObject_swiginit(self, _lldb.new_SBCommandReturnObject(*args)) 3567 __swig_destroy__ = _lldb.delete_SBCommandReturnObject 3568 3569 def __nonzero__(self): 3570 return _lldb.SBCommandReturnObject___nonzero__(self) 3571 __bool__ = __nonzero__ 3572 3573 3574 3575 def IsValid(self): 3576 r"""IsValid(SBCommandReturnObject self) -> bool""" 3577 return _lldb.SBCommandReturnObject_IsValid(self) 3578 3579 def PutOutput(self, *args): 3580 r""" 3581 PutOutput(SBCommandReturnObject self, SBFile file) -> size_t 3582 PutOutput(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t 3583 """ 3584 return _lldb.SBCommandReturnObject_PutOutput(self, *args) 3585 3586 def GetOutputSize(self): 3587 r"""GetOutputSize(SBCommandReturnObject self) -> size_t""" 3588 return _lldb.SBCommandReturnObject_GetOutputSize(self) 3589 3590 def GetErrorSize(self): 3591 r"""GetErrorSize(SBCommandReturnObject self) -> size_t""" 3592 return _lldb.SBCommandReturnObject_GetErrorSize(self) 3593 3594 def PutError(self, *args): 3595 r""" 3596 PutError(SBCommandReturnObject self, SBFile file) -> size_t 3597 PutError(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t 3598 """ 3599 return _lldb.SBCommandReturnObject_PutError(self, *args) 3600 3601 def Clear(self): 3602 r"""Clear(SBCommandReturnObject self)""" 3603 return _lldb.SBCommandReturnObject_Clear(self) 3604 3605 def GetStatus(self): 3606 r"""GetStatus(SBCommandReturnObject self) -> lldb::ReturnStatus""" 3607 return _lldb.SBCommandReturnObject_GetStatus(self) 3608 3609 def SetStatus(self, status): 3610 r"""SetStatus(SBCommandReturnObject self, lldb::ReturnStatus status)""" 3611 return _lldb.SBCommandReturnObject_SetStatus(self, status) 3612 3613 def Succeeded(self): 3614 r"""Succeeded(SBCommandReturnObject self) -> bool""" 3615 return _lldb.SBCommandReturnObject_Succeeded(self) 3616 3617 def HasResult(self): 3618 r"""HasResult(SBCommandReturnObject self) -> bool""" 3619 return _lldb.SBCommandReturnObject_HasResult(self) 3620 3621 def AppendMessage(self, message): 3622 r"""AppendMessage(SBCommandReturnObject self, char const * message)""" 3623 return _lldb.SBCommandReturnObject_AppendMessage(self, message) 3624 3625 def AppendWarning(self, message): 3626 r"""AppendWarning(SBCommandReturnObject self, char const * message)""" 3627 return _lldb.SBCommandReturnObject_AppendWarning(self, message) 3628 3629 def GetDescription(self, description): 3630 r"""GetDescription(SBCommandReturnObject self, SBStream description) -> bool""" 3631 return _lldb.SBCommandReturnObject_GetDescription(self, description) 3632 3633 def PutCString(self, string): 3634 r"""PutCString(SBCommandReturnObject self, char const * string)""" 3635 return _lldb.SBCommandReturnObject_PutCString(self, string) 3636 3637 def GetOutput(self, *args): 3638 r""" 3639 GetOutput(SBCommandReturnObject self) -> char const 3640 GetOutput(SBCommandReturnObject self, bool only_if_no_immediate) -> char const * 3641 """ 3642 return _lldb.SBCommandReturnObject_GetOutput(self, *args) 3643 3644 def GetError(self, *args): 3645 r""" 3646 GetError(SBCommandReturnObject self) -> char const 3647 GetError(SBCommandReturnObject self, bool only_if_no_immediate) -> char const * 3648 """ 3649 return _lldb.SBCommandReturnObject_GetError(self, *args) 3650 3651 def SetError(self, *args): 3652 r""" 3653 SetError(SBCommandReturnObject self, SBError error, char const * fallback_error_cstr=None) 3654 SetError(SBCommandReturnObject self, char const * error_cstr) 3655 """ 3656 return _lldb.SBCommandReturnObject_SetError(self, *args) 3657 3658 def __repr__(self): 3659 r"""__repr__(SBCommandReturnObject self) -> std::string""" 3660 return _lldb.SBCommandReturnObject___repr__(self) 3661 3662 def SetImmediateOutputFile(self, *args): 3663 r""" 3664 SetImmediateOutputFile(SBCommandReturnObject self, SBFile file) 3665 SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED) 3666 SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership) 3667 """ 3668 return _lldb.SBCommandReturnObject_SetImmediateOutputFile(self, *args) 3669 3670 def SetImmediateErrorFile(self, *args): 3671 r""" 3672 SetImmediateErrorFile(SBCommandReturnObject self, SBFile file) 3673 SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED) 3674 SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership) 3675 """ 3676 return _lldb.SBCommandReturnObject_SetImmediateErrorFile(self, *args) 3677 3678 def Print(self, str): 3679 r"""Print(SBCommandReturnObject self, char const * str)""" 3680 return _lldb.SBCommandReturnObject_Print(self, str) 3681 3682 def write(self, str): 3683 r"""write(SBCommandReturnObject self, char const * str)""" 3684 return _lldb.SBCommandReturnObject_write(self, str) 3685 3686 def flush(self): 3687 r"""flush(SBCommandReturnObject self)""" 3688 return _lldb.SBCommandReturnObject_flush(self) 3689 3690# Register SBCommandReturnObject in _lldb: 3691_lldb.SBCommandReturnObject_swigregister(SBCommandReturnObject) 3692class SBCommunication(object): 3693 r"""Allows sending/receiving data.""" 3694 3695 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3696 __repr__ = _swig_repr 3697 eBroadcastBitDisconnected = _lldb.SBCommunication_eBroadcastBitDisconnected 3698 3699 eBroadcastBitReadThreadGotBytes = _lldb.SBCommunication_eBroadcastBitReadThreadGotBytes 3700 3701 eBroadcastBitReadThreadDidExit = _lldb.SBCommunication_eBroadcastBitReadThreadDidExit 3702 3703 eBroadcastBitReadThreadShouldExit = _lldb.SBCommunication_eBroadcastBitReadThreadShouldExit 3704 3705 eBroadcastBitPacketAvailable = _lldb.SBCommunication_eBroadcastBitPacketAvailable 3706 3707 eAllEventBits = _lldb.SBCommunication_eAllEventBits 3708 3709 3710 def __init__(self, *args): 3711 r""" 3712 __init__(SBCommunication self) -> SBCommunication 3713 __init__(SBCommunication self, char const * broadcaster_name) -> SBCommunication 3714 """ 3715 _lldb.SBCommunication_swiginit(self, _lldb.new_SBCommunication(*args)) 3716 __swig_destroy__ = _lldb.delete_SBCommunication 3717 3718 def __nonzero__(self): 3719 return _lldb.SBCommunication___nonzero__(self) 3720 __bool__ = __nonzero__ 3721 3722 3723 3724 def IsValid(self): 3725 r"""IsValid(SBCommunication self) -> bool""" 3726 return _lldb.SBCommunication_IsValid(self) 3727 3728 def GetBroadcaster(self): 3729 r"""GetBroadcaster(SBCommunication self) -> SBBroadcaster""" 3730 return _lldb.SBCommunication_GetBroadcaster(self) 3731 3732 @staticmethod 3733 def GetBroadcasterClass(): 3734 r"""GetBroadcasterClass() -> char const *""" 3735 return _lldb.SBCommunication_GetBroadcasterClass() 3736 3737 def AdoptFileDesriptor(self, fd, owns_fd): 3738 r"""AdoptFileDesriptor(SBCommunication self, int fd, bool owns_fd) -> lldb::ConnectionStatus""" 3739 return _lldb.SBCommunication_AdoptFileDesriptor(self, fd, owns_fd) 3740 3741 def Connect(self, url): 3742 r"""Connect(SBCommunication self, char const * url) -> lldb::ConnectionStatus""" 3743 return _lldb.SBCommunication_Connect(self, url) 3744 3745 def Disconnect(self): 3746 r"""Disconnect(SBCommunication self) -> lldb::ConnectionStatus""" 3747 return _lldb.SBCommunication_Disconnect(self) 3748 3749 def IsConnected(self): 3750 r"""IsConnected(SBCommunication self) -> bool""" 3751 return _lldb.SBCommunication_IsConnected(self) 3752 3753 def GetCloseOnEOF(self): 3754 r"""GetCloseOnEOF(SBCommunication self) -> bool""" 3755 return _lldb.SBCommunication_GetCloseOnEOF(self) 3756 3757 def SetCloseOnEOF(self, b): 3758 r"""SetCloseOnEOF(SBCommunication self, bool b)""" 3759 return _lldb.SBCommunication_SetCloseOnEOF(self, b) 3760 3761 def Read(self, dst, dst_len, timeout_usec, status): 3762 r"""Read(SBCommunication self, void * dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus & status) -> size_t""" 3763 return _lldb.SBCommunication_Read(self, dst, dst_len, timeout_usec, status) 3764 3765 def Write(self, src, src_len, status): 3766 r"""Write(SBCommunication self, void const * src, size_t src_len, lldb::ConnectionStatus & status) -> size_t""" 3767 return _lldb.SBCommunication_Write(self, src, src_len, status) 3768 3769 def ReadThreadStart(self): 3770 r"""ReadThreadStart(SBCommunication self) -> bool""" 3771 return _lldb.SBCommunication_ReadThreadStart(self) 3772 3773 def ReadThreadStop(self): 3774 r"""ReadThreadStop(SBCommunication self) -> bool""" 3775 return _lldb.SBCommunication_ReadThreadStop(self) 3776 3777 def ReadThreadIsRunning(self): 3778 r"""ReadThreadIsRunning(SBCommunication self) -> bool""" 3779 return _lldb.SBCommunication_ReadThreadIsRunning(self) 3780 3781 def SetReadThreadBytesReceivedCallback(self, callback, callback_baton): 3782 r"""SetReadThreadBytesReceivedCallback(SBCommunication self, lldb::SBCommunication::ReadThreadBytesReceived callback, void * callback_baton) -> bool""" 3783 return _lldb.SBCommunication_SetReadThreadBytesReceivedCallback(self, callback, callback_baton) 3784 3785# Register SBCommunication in _lldb: 3786_lldb.SBCommunication_swigregister(SBCommunication) 3787class SBCompileUnit(object): 3788 r""" 3789 Represents a compilation unit, or compiled source file. 3790 3791 SBCompileUnit supports line entry iteration. For example,:: 3792 3793 # Now get the SBSymbolContext from this frame. We want everything. :-) 3794 context = frame0.GetSymbolContext(lldb.eSymbolContextEverything) 3795 ... 3796 3797 compileUnit = context.GetCompileUnit() 3798 3799 for lineEntry in compileUnit: 3800 print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()), 3801 lineEntry.GetLine())) 3802 print('start addr: %s' % str(lineEntry.GetStartAddress())) 3803 print('end addr: %s' % str(lineEntry.GetEndAddress())) 3804 3805 produces: :: 3806 3807 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20 3808 start addr: a.out[0x100000d98] 3809 end addr: a.out[0x100000da3] 3810 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21 3811 start addr: a.out[0x100000da3] 3812 end addr: a.out[0x100000da9] 3813 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22 3814 start addr: a.out[0x100000da9] 3815 end addr: a.out[0x100000db6] 3816 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23 3817 start addr: a.out[0x100000db6] 3818 end addr: a.out[0x100000dbc] 3819 ... 3820 3821 See also :py:class:`SBSymbolContext` and :py:class:`SBLineEntry` 3822 """ 3823 3824 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3825 3826 def __init__(self, *args): 3827 r""" 3828 __init__(SBCompileUnit self) -> SBCompileUnit 3829 __init__(SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit 3830 """ 3831 _lldb.SBCompileUnit_swiginit(self, _lldb.new_SBCompileUnit(*args)) 3832 __swig_destroy__ = _lldb.delete_SBCompileUnit 3833 3834 def __nonzero__(self): 3835 return _lldb.SBCompileUnit___nonzero__(self) 3836 __bool__ = __nonzero__ 3837 3838 3839 3840 def IsValid(self): 3841 r"""IsValid(SBCompileUnit self) -> bool""" 3842 return _lldb.SBCompileUnit_IsValid(self) 3843 3844 def GetFileSpec(self): 3845 r"""GetFileSpec(SBCompileUnit self) -> SBFileSpec""" 3846 return _lldb.SBCompileUnit_GetFileSpec(self) 3847 3848 def GetNumLineEntries(self): 3849 r"""GetNumLineEntries(SBCompileUnit self) -> uint32_t""" 3850 return _lldb.SBCompileUnit_GetNumLineEntries(self) 3851 3852 def GetLineEntryAtIndex(self, idx): 3853 r"""GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) -> SBLineEntry""" 3854 return _lldb.SBCompileUnit_GetLineEntryAtIndex(self, idx) 3855 3856 def FindLineEntryIndex(self, *args): 3857 r""" 3858 FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry, bool exact=False) -> uint32_t 3859 FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec) -> uint32_t 3860 FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec, bool exact) -> uint32_t 3861 3862 Get the index for a provided line entry in this compile unit. 3863 3864 @param[in] line_entry 3865 The SBLineEntry object for which we are looking for the index. 3866 3867 @param[in] exact 3868 An optional boolean defaulting to false that ensures that the provided 3869 line entry has a perfect match in the compile unit. 3870 3871 @return 3872 The index of the user-provided line entry. UINT32_MAX if the line entry 3873 was not found in the compile unit. 3874 """ 3875 return _lldb.SBCompileUnit_FindLineEntryIndex(self, *args) 3876 3877 def GetSupportFileAtIndex(self, idx): 3878 r"""GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) -> SBFileSpec""" 3879 return _lldb.SBCompileUnit_GetSupportFileAtIndex(self, idx) 3880 3881 def GetNumSupportFiles(self): 3882 r"""GetNumSupportFiles(SBCompileUnit self) -> uint32_t""" 3883 return _lldb.SBCompileUnit_GetNumSupportFiles(self) 3884 3885 def FindSupportFileIndex(self, start_idx, sb_file, full): 3886 r"""FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) -> uint32_t""" 3887 return _lldb.SBCompileUnit_FindSupportFileIndex(self, start_idx, sb_file, full) 3888 3889 def GetTypes(self, *args): 3890 r""" 3891 GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList 3892 3893 Get all types matching type_mask from debug info in this 3894 compile unit. 3895 3896 @param[in] type_mask 3897 A bitfield that consists of one or more bits logically OR'ed 3898 together from the lldb::TypeClass enumeration. This allows 3899 you to request only structure types, or only class, struct 3900 and union types. Passing in lldb::eTypeClassAny will return 3901 all types found in the debug information for this compile 3902 unit. 3903 3904 @return 3905 A list of types in this compile unit that match type_mask 3906 """ 3907 return _lldb.SBCompileUnit_GetTypes(self, *args) 3908 3909 def GetLanguage(self): 3910 r"""GetLanguage(SBCompileUnit self) -> lldb::LanguageType""" 3911 return _lldb.SBCompileUnit_GetLanguage(self) 3912 3913 def __eq__(self, rhs): 3914 r"""__eq__(SBCompileUnit self, SBCompileUnit rhs) -> bool""" 3915 return _lldb.SBCompileUnit___eq__(self, rhs) 3916 3917 def __ne__(self, rhs): 3918 r"""__ne__(SBCompileUnit self, SBCompileUnit rhs) -> bool""" 3919 return _lldb.SBCompileUnit___ne__(self, rhs) 3920 3921 def GetDescription(self, description): 3922 r"""GetDescription(SBCompileUnit self, SBStream description) -> bool""" 3923 return _lldb.SBCompileUnit_GetDescription(self, description) 3924 3925 def __repr__(self): 3926 r"""__repr__(SBCompileUnit self) -> std::string""" 3927 return _lldb.SBCompileUnit___repr__(self) 3928 3929 # operator== is a free function, which swig does not handle, so we inject 3930 # our own equality operator here 3931 def __eq__(self, other): 3932 return not self.__ne__(other) 3933 3934 def __iter__(self): 3935 '''Iterate over all line entries in a lldb.SBCompileUnit object.''' 3936 return lldb_iter(self, 'GetNumLineEntries', 'GetLineEntryAtIndex') 3937 3938 def __len__(self): 3939 '''Return the number of line entries in a lldb.SBCompileUnit 3940 object.''' 3941 return self.GetNumLineEntries() 3942 3943 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.''') 3944 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.''') 3945 3946 3947 def __eq__(self, rhs): 3948 if not isinstance(rhs, type(self)): 3949 return False 3950 3951 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 3952 3953 def __ne__(self, rhs): 3954 if not isinstance(rhs, type(self)): 3955 return True 3956 3957 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 3958 3959 3960# Register SBCompileUnit in _lldb: 3961_lldb.SBCompileUnit_swigregister(SBCompileUnit) 3962class SBData(object): 3963 r"""Represents a data buffer.""" 3964 3965 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 3966 3967 def __init__(self, *args): 3968 r""" 3969 __init__(SBData self) -> SBData 3970 __init__(SBData self, SBData rhs) -> SBData 3971 """ 3972 _lldb.SBData_swiginit(self, _lldb.new_SBData(*args)) 3973 __swig_destroy__ = _lldb.delete_SBData 3974 3975 def GetAddressByteSize(self): 3976 r"""GetAddressByteSize(SBData self) -> uint8_t""" 3977 return _lldb.SBData_GetAddressByteSize(self) 3978 3979 def SetAddressByteSize(self, addr_byte_size): 3980 r"""SetAddressByteSize(SBData self, uint8_t addr_byte_size)""" 3981 return _lldb.SBData_SetAddressByteSize(self, addr_byte_size) 3982 3983 def Clear(self): 3984 r"""Clear(SBData self)""" 3985 return _lldb.SBData_Clear(self) 3986 3987 def __nonzero__(self): 3988 return _lldb.SBData___nonzero__(self) 3989 __bool__ = __nonzero__ 3990 3991 3992 3993 def IsValid(self): 3994 r"""IsValid(SBData self) -> bool""" 3995 return _lldb.SBData_IsValid(self) 3996 3997 def GetByteSize(self): 3998 r"""GetByteSize(SBData self) -> size_t""" 3999 return _lldb.SBData_GetByteSize(self) 4000 4001 def GetByteOrder(self): 4002 r"""GetByteOrder(SBData self) -> lldb::ByteOrder""" 4003 return _lldb.SBData_GetByteOrder(self) 4004 4005 def SetByteOrder(self, endian): 4006 r"""SetByteOrder(SBData self, lldb::ByteOrder endian)""" 4007 return _lldb.SBData_SetByteOrder(self, endian) 4008 4009 def GetFloat(self, error, offset): 4010 r"""GetFloat(SBData self, SBError error, lldb::offset_t offset) -> float""" 4011 return _lldb.SBData_GetFloat(self, error, offset) 4012 4013 def GetDouble(self, error, offset): 4014 r"""GetDouble(SBData self, SBError error, lldb::offset_t offset) -> double""" 4015 return _lldb.SBData_GetDouble(self, error, offset) 4016 4017 def GetLongDouble(self, error, offset): 4018 r"""GetLongDouble(SBData self, SBError error, lldb::offset_t offset) -> long double""" 4019 return _lldb.SBData_GetLongDouble(self, error, offset) 4020 4021 def GetAddress(self, error, offset): 4022 r"""GetAddress(SBData self, SBError error, lldb::offset_t offset) -> lldb::addr_t""" 4023 return _lldb.SBData_GetAddress(self, error, offset) 4024 4025 def GetUnsignedInt8(self, error, offset): 4026 r"""GetUnsignedInt8(SBData self, SBError error, lldb::offset_t offset) -> uint8_t""" 4027 return _lldb.SBData_GetUnsignedInt8(self, error, offset) 4028 4029 def GetUnsignedInt16(self, error, offset): 4030 r"""GetUnsignedInt16(SBData self, SBError error, lldb::offset_t offset) -> uint16_t""" 4031 return _lldb.SBData_GetUnsignedInt16(self, error, offset) 4032 4033 def GetUnsignedInt32(self, error, offset): 4034 r"""GetUnsignedInt32(SBData self, SBError error, lldb::offset_t offset) -> uint32_t""" 4035 return _lldb.SBData_GetUnsignedInt32(self, error, offset) 4036 4037 def GetUnsignedInt64(self, error, offset): 4038 r"""GetUnsignedInt64(SBData self, SBError error, lldb::offset_t offset) -> uint64_t""" 4039 return _lldb.SBData_GetUnsignedInt64(self, error, offset) 4040 4041 def GetSignedInt8(self, error, offset): 4042 r"""GetSignedInt8(SBData self, SBError error, lldb::offset_t offset) -> int8_t""" 4043 return _lldb.SBData_GetSignedInt8(self, error, offset) 4044 4045 def GetSignedInt16(self, error, offset): 4046 r"""GetSignedInt16(SBData self, SBError error, lldb::offset_t offset) -> int16_t""" 4047 return _lldb.SBData_GetSignedInt16(self, error, offset) 4048 4049 def GetSignedInt32(self, error, offset): 4050 r"""GetSignedInt32(SBData self, SBError error, lldb::offset_t offset) -> int32_t""" 4051 return _lldb.SBData_GetSignedInt32(self, error, offset) 4052 4053 def GetSignedInt64(self, error, offset): 4054 r"""GetSignedInt64(SBData self, SBError error, lldb::offset_t offset) -> int64_t""" 4055 return _lldb.SBData_GetSignedInt64(self, error, offset) 4056 4057 def GetString(self, error, offset): 4058 r"""GetString(SBData self, SBError error, lldb::offset_t offset) -> char const *""" 4059 return _lldb.SBData_GetString(self, error, offset) 4060 4061 def ReadRawData(self, error, offset, buf): 4062 r"""ReadRawData(SBData self, SBError error, lldb::offset_t offset, void * buf) -> size_t""" 4063 return _lldb.SBData_ReadRawData(self, error, offset, buf) 4064 4065 def GetDescription(self, *args): 4066 r"""GetDescription(SBData self, SBStream description, lldb::addr_t base_addr=18446744073709551615ULL) -> bool""" 4067 return _lldb.SBData_GetDescription(self, *args) 4068 4069 def SetData(self, error, buf, endian, addr_size): 4070 r"""SetData(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)""" 4071 return _lldb.SBData_SetData(self, error, buf, endian, addr_size) 4072 4073 def SetDataWithOwnership(self, error, buf, endian, addr_size): 4074 r"""SetDataWithOwnership(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)""" 4075 return _lldb.SBData_SetDataWithOwnership(self, error, buf, endian, addr_size) 4076 4077 def Append(self, rhs): 4078 r"""Append(SBData self, SBData rhs) -> bool""" 4079 return _lldb.SBData_Append(self, rhs) 4080 4081 @staticmethod 4082 def CreateDataFromCString(endian, addr_byte_size, data): 4083 r"""CreateDataFromCString(lldb::ByteOrder endian, uint32_t addr_byte_size, char const * data) -> SBData""" 4084 return _lldb.SBData_CreateDataFromCString(endian, addr_byte_size, data) 4085 4086 @staticmethod 4087 def CreateDataFromUInt64Array(endian, addr_byte_size, array): 4088 r"""CreateDataFromUInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint64_t * array) -> SBData""" 4089 return _lldb.SBData_CreateDataFromUInt64Array(endian, addr_byte_size, array) 4090 4091 @staticmethod 4092 def CreateDataFromUInt32Array(endian, addr_byte_size, array): 4093 r"""CreateDataFromUInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint32_t * array) -> SBData""" 4094 return _lldb.SBData_CreateDataFromUInt32Array(endian, addr_byte_size, array) 4095 4096 @staticmethod 4097 def CreateDataFromSInt64Array(endian, addr_byte_size, array): 4098 r"""CreateDataFromSInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int64_t * array) -> SBData""" 4099 return _lldb.SBData_CreateDataFromSInt64Array(endian, addr_byte_size, array) 4100 4101 @staticmethod 4102 def CreateDataFromSInt32Array(endian, addr_byte_size, array): 4103 r"""CreateDataFromSInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int32_t * array) -> SBData""" 4104 return _lldb.SBData_CreateDataFromSInt32Array(endian, addr_byte_size, array) 4105 4106 @staticmethod 4107 def CreateDataFromDoubleArray(endian, addr_byte_size, array): 4108 r"""CreateDataFromDoubleArray(lldb::ByteOrder endian, uint32_t addr_byte_size, double * array) -> SBData""" 4109 return _lldb.SBData_CreateDataFromDoubleArray(endian, addr_byte_size, array) 4110 4111 def SetDataFromCString(self, data): 4112 r"""SetDataFromCString(SBData self, char const * data) -> bool""" 4113 return _lldb.SBData_SetDataFromCString(self, data) 4114 4115 def SetDataFromUInt64Array(self, array): 4116 r"""SetDataFromUInt64Array(SBData self, uint64_t * array) -> bool""" 4117 return _lldb.SBData_SetDataFromUInt64Array(self, array) 4118 4119 def SetDataFromUInt32Array(self, array): 4120 r"""SetDataFromUInt32Array(SBData self, uint32_t * array) -> bool""" 4121 return _lldb.SBData_SetDataFromUInt32Array(self, array) 4122 4123 def SetDataFromSInt64Array(self, array): 4124 r"""SetDataFromSInt64Array(SBData self, int64_t * array) -> bool""" 4125 return _lldb.SBData_SetDataFromSInt64Array(self, array) 4126 4127 def SetDataFromSInt32Array(self, array): 4128 r"""SetDataFromSInt32Array(SBData self, int32_t * array) -> bool""" 4129 return _lldb.SBData_SetDataFromSInt32Array(self, array) 4130 4131 def SetDataFromDoubleArray(self, array): 4132 r"""SetDataFromDoubleArray(SBData self, double * array) -> bool""" 4133 return _lldb.SBData_SetDataFromDoubleArray(self, array) 4134 4135 def __repr__(self): 4136 r"""__repr__(SBData self) -> std::string""" 4137 return _lldb.SBData___repr__(self) 4138 4139 def __len__(self): 4140 return self.GetByteSize() 4141 4142 class read_data_helper: 4143 def __init__(self, sbdata, readerfunc, item_size): 4144 self.sbdata = sbdata 4145 self.readerfunc = readerfunc 4146 self.item_size = item_size 4147 def __getitem__(self,key): 4148 if isinstance(key,slice): 4149 list = [] 4150 for x in range(*key.indices(self.__len__())): 4151 list.append(self.__getitem__(x)) 4152 return list 4153 if not (isinstance(key, int)): 4154 raise TypeError('must be int') 4155 key = key * self.item_size # SBData uses byte-based indexes, but we want to use itemsize-based indexes here 4156 error = SBError() 4157 my_data = self.readerfunc(self.sbdata,error,key) 4158 if error.Fail(): 4159 raise IndexError(error.GetCString()) 4160 else: 4161 return my_data 4162 def __len__(self): 4163 return int(self.sbdata.GetByteSize()/self.item_size) 4164 def all(self): 4165 return self[0:len(self)] 4166 4167 @classmethod 4168 def CreateDataFromInt (cls, value, size = None, target = None, ptr_size = None, endian = None): 4169 import sys 4170 lldbmodule = sys.modules[cls.__module__] 4171 lldbdict = lldbmodule.__dict__ 4172 if 'target' in lldbdict: 4173 lldbtarget = lldbdict['target'] 4174 else: 4175 lldbtarget = None 4176 if target == None and lldbtarget != None and lldbtarget.IsValid(): 4177 target = lldbtarget 4178 if ptr_size == None: 4179 if target and target.IsValid(): 4180 ptr_size = target.addr_size 4181 else: 4182 ptr_size = 8 4183 if endian == None: 4184 if target and target.IsValid(): 4185 endian = target.byte_order 4186 else: 4187 endian = lldbdict['eByteOrderLittle'] 4188 if size == None: 4189 if value > 2147483647: 4190 size = 8 4191 elif value < -2147483648: 4192 size = 8 4193 elif value > 4294967295: 4194 size = 8 4195 else: 4196 size = 4 4197 if size == 4: 4198 if value < 0: 4199 return SBData().CreateDataFromSInt32Array(endian, ptr_size, [value]) 4200 return SBData().CreateDataFromUInt32Array(endian, ptr_size, [value]) 4201 if size == 8: 4202 if value < 0: 4203 return SBData().CreateDataFromSInt64Array(endian, ptr_size, [value]) 4204 return SBData().CreateDataFromUInt64Array(endian, ptr_size, [value]) 4205 return None 4206 4207 def _make_helper(self, sbdata, getfunc, itemsize): 4208 return self.read_data_helper(sbdata, getfunc, itemsize) 4209 4210 def _make_helper_uint8(self): 4211 return self._make_helper(self, SBData.GetUnsignedInt8, 1) 4212 4213 def _make_helper_uint16(self): 4214 return self._make_helper(self, SBData.GetUnsignedInt16, 2) 4215 4216 def _make_helper_uint32(self): 4217 return self._make_helper(self, SBData.GetUnsignedInt32, 4) 4218 4219 def _make_helper_uint64(self): 4220 return self._make_helper(self, SBData.GetUnsignedInt64, 8) 4221 4222 def _make_helper_sint8(self): 4223 return self._make_helper(self, SBData.GetSignedInt8, 1) 4224 4225 def _make_helper_sint16(self): 4226 return self._make_helper(self, SBData.GetSignedInt16, 2) 4227 4228 def _make_helper_sint32(self): 4229 return self._make_helper(self, SBData.GetSignedInt32, 4) 4230 4231 def _make_helper_sint64(self): 4232 return self._make_helper(self, SBData.GetSignedInt64, 8) 4233 4234 def _make_helper_float(self): 4235 return self._make_helper(self, SBData.GetFloat, 4) 4236 4237 def _make_helper_double(self): 4238 return self._make_helper(self, SBData.GetDouble, 8) 4239 4240 def _read_all_uint8(self): 4241 return self._make_helper_uint8().all() 4242 4243 def _read_all_uint16(self): 4244 return self._make_helper_uint16().all() 4245 4246 def _read_all_uint32(self): 4247 return self._make_helper_uint32().all() 4248 4249 def _read_all_uint64(self): 4250 return self._make_helper_uint64().all() 4251 4252 def _read_all_sint8(self): 4253 return self._make_helper_sint8().all() 4254 4255 def _read_all_sint16(self): 4256 return self._make_helper_sint16().all() 4257 4258 def _read_all_sint32(self): 4259 return self._make_helper_sint32().all() 4260 4261 def _read_all_sint64(self): 4262 return self._make_helper_sint64().all() 4263 4264 def _read_all_float(self): 4265 return self._make_helper_float().all() 4266 4267 def _read_all_double(self): 4268 return self._make_helper_double().all() 4269 4270 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.''') 4271 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.''') 4272 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.''') 4273 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.''') 4274 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.''') 4275 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.''') 4276 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.''') 4277 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.''') 4278 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.''') 4279 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.''') 4280 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.''') 4281 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.''') 4282 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.''') 4283 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.''') 4284 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.''') 4285 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.''') 4286 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.''') 4287 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.''') 4288 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.''') 4289 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.''') 4290 byte_order = property(GetByteOrder, SetByteOrder, doc='''A read/write property getting and setting the endianness of this SBData (data.byte_order = lldb.eByteOrderLittle).''') 4291 size = property(GetByteSize, None, doc='''A read only property that returns the size the same result as GetByteSize().''') 4292 4293 4294# Register SBData in _lldb: 4295_lldb.SBData_swigregister(SBData) 4296class SBDebugger(object): 4297 r""" 4298 SBDebugger is the primordial object that creates SBTargets and provides 4299 access to them. It also manages the overall debugging experiences. 4300 4301 For example (from example/disasm.py),:: 4302 4303 import lldb 4304 import os 4305 import sys 4306 4307 def disassemble_instructions (insts): 4308 for i in insts: 4309 print i 4310 4311 ... 4312 4313 # Create a new debugger instance 4314 debugger = lldb.SBDebugger.Create() 4315 4316 # When we step or continue, don't return from the function until the process 4317 # stops. We do this by setting the async mode to false. 4318 debugger.SetAsync (False) 4319 4320 # Create a target from a file and arch 4321 print('Creating a target for '%s'' % exe) 4322 4323 target = debugger.CreateTargetWithFileAndArch (exe, lldb.LLDB_ARCH_DEFAULT) 4324 4325 if target: 4326 # If the target is valid set a breakpoint at main 4327 main_bp = target.BreakpointCreateByName (fname, target.GetExecutable().GetFilename()); 4328 4329 print main_bp 4330 4331 # Launch the process. Since we specified synchronous mode, we won't return 4332 # from this function until we hit the breakpoint at main 4333 process = target.LaunchSimple (None, None, os.getcwd()) 4334 4335 # Make sure the launch went ok 4336 if process: 4337 # Print some simple process info 4338 state = process.GetState () 4339 print process 4340 if state == lldb.eStateStopped: 4341 # Get the first thread 4342 thread = process.GetThreadAtIndex (0) 4343 if thread: 4344 # Print some simple thread info 4345 print thread 4346 # Get the first frame 4347 frame = thread.GetFrameAtIndex (0) 4348 if frame: 4349 # Print some simple frame info 4350 print frame 4351 function = frame.GetFunction() 4352 # See if we have debug info (a function) 4353 if function: 4354 # We do have a function, print some info for the function 4355 print function 4356 # Now get all instructions for this function and print them 4357 insts = function.GetInstructions(target) 4358 disassemble_instructions (insts) 4359 else: 4360 # See if we have a symbol in the symbol table for where we stopped 4361 symbol = frame.GetSymbol(); 4362 if symbol: 4363 # We do have a symbol, print some info for the symbol 4364 print symbol 4365 # Now get all instructions for this symbol and print them 4366 insts = symbol.GetInstructions(target) 4367 disassemble_instructions (insts) 4368 4369 registerList = frame.GetRegisters() 4370 print('Frame registers (size of register set = %d):' % registerList.GetSize()) 4371 for value in registerList: 4372 #print value 4373 print('%s (number of children = %d):' % (value.GetName(), value.GetNumChildren())) 4374 for child in value: 4375 print('Name: ', child.GetName(), ' Value: ', child.GetValue()) 4376 4377 print('Hit the breakpoint at main, enter to continue and wait for program to exit or 'Ctrl-D'/'quit' to terminate the program') 4378 next = sys.stdin.readline() 4379 if not next or next.rstrip('\n') == 'quit': 4380 print('Terminating the inferior process...') 4381 process.Kill() 4382 else: 4383 # Now continue to the program exit 4384 process.Continue() 4385 # When we return from the above function we will hopefully be at the 4386 # program exit. Print out some process info 4387 print process 4388 elif state == lldb.eStateExited: 4389 print('Didn't hit the breakpoint at main, program has exited...') 4390 else: 4391 print('Unexpected process state: %s, killing process...' % debugger.StateAsCString (state)) 4392 process.Kill() 4393 4394 Sometimes you need to create an empty target that will get filled in later. The most common use for this 4395 is to attach to a process by name or pid where you don't know the executable up front. The most convenient way 4396 to do this is: :: 4397 4398 target = debugger.CreateTarget('') 4399 error = lldb.SBError() 4400 process = target.AttachToProcessWithName(debugger.GetListener(), 'PROCESS_NAME', False, error) 4401 4402 or the equivalent arguments for :py:class:`SBTarget.AttachToProcessWithID` . 4403 """ 4404 4405 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 4406 eBroadcastBitProgress = _lldb.SBDebugger_eBroadcastBitProgress 4407 4408 eBroadcastBitWarning = _lldb.SBDebugger_eBroadcastBitWarning 4409 4410 eBroadcastBitError = _lldb.SBDebugger_eBroadcastBitError 4411 4412 eBroadcastBitProgressCategory = _lldb.SBDebugger_eBroadcastBitProgressCategory 4413 4414 4415 def __init__(self, *args): 4416 r""" 4417 __init__(SBDebugger self) -> SBDebugger 4418 __init__(SBDebugger self, SBDebugger rhs) -> SBDebugger 4419 """ 4420 _lldb.SBDebugger_swiginit(self, _lldb.new_SBDebugger(*args)) 4421 __swig_destroy__ = _lldb.delete_SBDebugger 4422 4423 @staticmethod 4424 def GetBroadcasterClass(): 4425 r"""GetBroadcasterClass() -> char const *""" 4426 return _lldb.SBDebugger_GetBroadcasterClass() 4427 4428 def GetBroadcaster(self): 4429 r"""GetBroadcaster(SBDebugger self) -> SBBroadcaster""" 4430 return _lldb.SBDebugger_GetBroadcaster(self) 4431 4432 @staticmethod 4433 def GetProgressFromEvent(event): 4434 r"""GetProgressFromEvent(SBEvent event) -> char const *""" 4435 return _lldb.SBDebugger_GetProgressFromEvent(event) 4436 4437 @staticmethod 4438 def GetProgressDataFromEvent(event): 4439 r"""GetProgressDataFromEvent(SBEvent event) -> SBStructuredData""" 4440 return _lldb.SBDebugger_GetProgressDataFromEvent(event) 4441 4442 @staticmethod 4443 def GetDiagnosticFromEvent(event): 4444 r"""GetDiagnosticFromEvent(SBEvent event) -> SBStructuredData""" 4445 return _lldb.SBDebugger_GetDiagnosticFromEvent(event) 4446 4447 @staticmethod 4448 def Initialize(): 4449 r"""Initialize()""" 4450 return _lldb.SBDebugger_Initialize() 4451 4452 @staticmethod 4453 def InitializeWithErrorHandling(): 4454 r"""InitializeWithErrorHandling() -> SBError""" 4455 return _lldb.SBDebugger_InitializeWithErrorHandling() 4456 4457 @staticmethod 4458 def PrintStackTraceOnError(): 4459 r"""PrintStackTraceOnError()""" 4460 return _lldb.SBDebugger_PrintStackTraceOnError() 4461 4462 @staticmethod 4463 def PrintDiagnosticsOnError(): 4464 r"""PrintDiagnosticsOnError()""" 4465 return _lldb.SBDebugger_PrintDiagnosticsOnError() 4466 4467 @staticmethod 4468 def Terminate(): 4469 r"""Terminate()""" 4470 return _lldb.SBDebugger_Terminate() 4471 4472 @staticmethod 4473 def Create(*args): 4474 r""" 4475 Create() -> SBDebugger 4476 Create(bool source_init_files) -> SBDebugger 4477 Create(bool source_init_files, lldb::LogOutputCallback log_callback) -> SBDebugger 4478 """ 4479 return _lldb.SBDebugger_Create(*args) 4480 4481 @staticmethod 4482 def Destroy(debugger): 4483 r"""Destroy(SBDebugger debugger)""" 4484 return _lldb.SBDebugger_Destroy(debugger) 4485 4486 @staticmethod 4487 def MemoryPressureDetected(): 4488 r"""MemoryPressureDetected()""" 4489 return _lldb.SBDebugger_MemoryPressureDetected() 4490 4491 def __nonzero__(self): 4492 return _lldb.SBDebugger___nonzero__(self) 4493 __bool__ = __nonzero__ 4494 4495 4496 4497 def IsValid(self): 4498 r"""IsValid(SBDebugger self) -> bool""" 4499 return _lldb.SBDebugger_IsValid(self) 4500 4501 def Clear(self): 4502 r"""Clear(SBDebugger self)""" 4503 return _lldb.SBDebugger_Clear(self) 4504 4505 def GetSetting(self, setting=None): 4506 r"""GetSetting(SBDebugger self, char const * setting=None) -> SBStructuredData""" 4507 return _lldb.SBDebugger_GetSetting(self, setting) 4508 4509 def SetAsync(self, b): 4510 r"""SetAsync(SBDebugger self, bool b)""" 4511 return _lldb.SBDebugger_SetAsync(self, b) 4512 4513 def GetAsync(self): 4514 r"""GetAsync(SBDebugger self) -> bool""" 4515 return _lldb.SBDebugger_GetAsync(self) 4516 4517 def SkipLLDBInitFiles(self, b): 4518 r"""SkipLLDBInitFiles(SBDebugger self, bool b)""" 4519 return _lldb.SBDebugger_SkipLLDBInitFiles(self, b) 4520 4521 def SkipAppInitFiles(self, b): 4522 r"""SkipAppInitFiles(SBDebugger self, bool b)""" 4523 return _lldb.SBDebugger_SkipAppInitFiles(self, b) 4524 4525 def SetInputString(self, data): 4526 r"""SetInputString(SBDebugger self, char const * data) -> SBError""" 4527 return _lldb.SBDebugger_SetInputString(self, data) 4528 4529 def SetInputFile(self, *args): 4530 r""" 4531 SetInputFile(SBDebugger self, SBFile file) -> SBError 4532 SetInputFile(SBDebugger self, lldb::FileSP file) -> SBError 4533 """ 4534 return _lldb.SBDebugger_SetInputFile(self, *args) 4535 4536 def SetOutputFile(self, *args): 4537 r""" 4538 SetOutputFile(SBDebugger self, SBFile file) -> SBError 4539 SetOutputFile(SBDebugger self, lldb::FileSP file) -> SBError 4540 """ 4541 return _lldb.SBDebugger_SetOutputFile(self, *args) 4542 4543 def SetErrorFile(self, *args): 4544 r""" 4545 SetErrorFile(SBDebugger self, SBFile file) -> SBError 4546 SetErrorFile(SBDebugger self, lldb::FileSP file) -> SBError 4547 """ 4548 return _lldb.SBDebugger_SetErrorFile(self, *args) 4549 4550 def GetInputFile(self): 4551 r"""GetInputFile(SBDebugger self) -> SBFile""" 4552 return _lldb.SBDebugger_GetInputFile(self) 4553 4554 def GetOutputFile(self): 4555 r"""GetOutputFile(SBDebugger self) -> SBFile""" 4556 return _lldb.SBDebugger_GetOutputFile(self) 4557 4558 def GetErrorFile(self): 4559 r"""GetErrorFile(SBDebugger self) -> SBFile""" 4560 return _lldb.SBDebugger_GetErrorFile(self) 4561 4562 def SaveInputTerminalState(self): 4563 r"""SaveInputTerminalState(SBDebugger self)""" 4564 return _lldb.SBDebugger_SaveInputTerminalState(self) 4565 4566 def RestoreInputTerminalState(self): 4567 r"""RestoreInputTerminalState(SBDebugger self)""" 4568 return _lldb.SBDebugger_RestoreInputTerminalState(self) 4569 4570 def GetCommandInterpreter(self): 4571 r"""GetCommandInterpreter(SBDebugger self) -> SBCommandInterpreter""" 4572 return _lldb.SBDebugger_GetCommandInterpreter(self) 4573 4574 def HandleCommand(self, command): 4575 r"""HandleCommand(SBDebugger self, char const * command)""" 4576 return _lldb.SBDebugger_HandleCommand(self, command) 4577 4578 def RequestInterrupt(self): 4579 r"""RequestInterrupt(SBDebugger self)""" 4580 return _lldb.SBDebugger_RequestInterrupt(self) 4581 4582 def CancelInterruptRequest(self): 4583 r"""CancelInterruptRequest(SBDebugger self)""" 4584 return _lldb.SBDebugger_CancelInterruptRequest(self) 4585 4586 def InterruptRequested(self): 4587 r"""InterruptRequested(SBDebugger self) -> bool""" 4588 return _lldb.SBDebugger_InterruptRequested(self) 4589 4590 def GetListener(self): 4591 r"""GetListener(SBDebugger self) -> SBListener""" 4592 return _lldb.SBDebugger_GetListener(self) 4593 4594 def HandleProcessEvent(self, *args): 4595 r""" 4596 HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, SBFile out, SBFile err) 4597 HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, lldb::FileSP arg4, lldb::FileSP arg5) 4598 """ 4599 return _lldb.SBDebugger_HandleProcessEvent(self, *args) 4600 4601 def CreateTargetWithFileAndTargetTriple(self, filename, target_triple): 4602 r"""CreateTargetWithFileAndTargetTriple(SBDebugger self, char const * filename, char const * target_triple) -> SBTarget""" 4603 return _lldb.SBDebugger_CreateTargetWithFileAndTargetTriple(self, filename, target_triple) 4604 4605 def CreateTargetWithFileAndArch(self, filename, archname): 4606 r"""CreateTargetWithFileAndArch(SBDebugger self, char const * filename, char const * archname) -> SBTarget""" 4607 return _lldb.SBDebugger_CreateTargetWithFileAndArch(self, filename, archname) 4608 4609 def CreateTarget(self, *args): 4610 r""" 4611 CreateTarget(SBDebugger self, char const * filename, char const * target_triple, char const * platform_name, bool add_dependent_modules, SBError error) -> SBTarget 4612 CreateTarget(SBDebugger self, char const * filename) -> SBTarget 4613 """ 4614 return _lldb.SBDebugger_CreateTarget(self, *args) 4615 4616 def GetDummyTarget(self): 4617 r""" 4618 GetDummyTarget(SBDebugger self) -> SBTarget 4619 The dummy target holds breakpoints and breakpoint names that will prime newly created targets. 4620 """ 4621 return _lldb.SBDebugger_GetDummyTarget(self) 4622 4623 def DeleteTarget(self, target): 4624 r""" 4625 DeleteTarget(SBDebugger self, SBTarget target) -> bool 4626 Return true if target is deleted from the target list of the debugger. 4627 """ 4628 return _lldb.SBDebugger_DeleteTarget(self, target) 4629 4630 def GetTargetAtIndex(self, idx): 4631 r"""GetTargetAtIndex(SBDebugger self, uint32_t idx) -> SBTarget""" 4632 return _lldb.SBDebugger_GetTargetAtIndex(self, idx) 4633 4634 def GetIndexOfTarget(self, target): 4635 r"""GetIndexOfTarget(SBDebugger self, SBTarget target) -> uint32_t""" 4636 return _lldb.SBDebugger_GetIndexOfTarget(self, target) 4637 4638 def FindTargetWithProcessID(self, pid): 4639 r"""FindTargetWithProcessID(SBDebugger self, lldb::pid_t pid) -> SBTarget""" 4640 return _lldb.SBDebugger_FindTargetWithProcessID(self, pid) 4641 4642 def FindTargetWithFileAndArch(self, filename, arch): 4643 r"""FindTargetWithFileAndArch(SBDebugger self, char const * filename, char const * arch) -> SBTarget""" 4644 return _lldb.SBDebugger_FindTargetWithFileAndArch(self, filename, arch) 4645 4646 def GetNumTargets(self): 4647 r"""GetNumTargets(SBDebugger self) -> uint32_t""" 4648 return _lldb.SBDebugger_GetNumTargets(self) 4649 4650 def GetSelectedTarget(self): 4651 r"""GetSelectedTarget(SBDebugger self) -> SBTarget""" 4652 return _lldb.SBDebugger_GetSelectedTarget(self) 4653 4654 def SetSelectedTarget(self, target): 4655 r"""SetSelectedTarget(SBDebugger self, SBTarget target)""" 4656 return _lldb.SBDebugger_SetSelectedTarget(self, target) 4657 4658 def GetSelectedPlatform(self): 4659 r"""GetSelectedPlatform(SBDebugger self) -> SBPlatform""" 4660 return _lldb.SBDebugger_GetSelectedPlatform(self) 4661 4662 def SetSelectedPlatform(self, platform): 4663 r"""SetSelectedPlatform(SBDebugger self, SBPlatform platform)""" 4664 return _lldb.SBDebugger_SetSelectedPlatform(self, platform) 4665 4666 def GetNumPlatforms(self): 4667 r""" 4668 GetNumPlatforms(SBDebugger self) -> uint32_t 4669 Get the number of currently active platforms. 4670 """ 4671 return _lldb.SBDebugger_GetNumPlatforms(self) 4672 4673 def GetPlatformAtIndex(self, idx): 4674 r""" 4675 GetPlatformAtIndex(SBDebugger self, uint32_t idx) -> SBPlatform 4676 Get one of the currently active platforms. 4677 """ 4678 return _lldb.SBDebugger_GetPlatformAtIndex(self, idx) 4679 4680 def GetNumAvailablePlatforms(self): 4681 r""" 4682 GetNumAvailablePlatforms(SBDebugger self) -> uint32_t 4683 Get the number of available platforms. 4684 """ 4685 return _lldb.SBDebugger_GetNumAvailablePlatforms(self) 4686 4687 def GetAvailablePlatformInfoAtIndex(self, idx): 4688 r""" 4689 GetAvailablePlatformInfoAtIndex(SBDebugger self, uint32_t idx) -> SBStructuredData 4690 4691 Get the name and description of one of the available platforms. 4692 4693 @param idx Zero-based index of the platform for which info should be 4694 retrieved, must be less than the value returned by 4695 GetNumAvailablePlatforms(). 4696 """ 4697 return _lldb.SBDebugger_GetAvailablePlatformInfoAtIndex(self, idx) 4698 4699 def GetSourceManager(self): 4700 r"""GetSourceManager(SBDebugger self) -> SBSourceManager""" 4701 return _lldb.SBDebugger_GetSourceManager(self) 4702 4703 def SetCurrentPlatform(self, platform_name): 4704 r"""SetCurrentPlatform(SBDebugger self, char const * platform_name) -> SBError""" 4705 return _lldb.SBDebugger_SetCurrentPlatform(self, platform_name) 4706 4707 def SetCurrentPlatformSDKRoot(self, sysroot): 4708 r"""SetCurrentPlatformSDKRoot(SBDebugger self, char const * sysroot) -> bool""" 4709 return _lldb.SBDebugger_SetCurrentPlatformSDKRoot(self, sysroot) 4710 4711 def SetUseExternalEditor(self, input): 4712 r"""SetUseExternalEditor(SBDebugger self, bool input) -> bool""" 4713 return _lldb.SBDebugger_SetUseExternalEditor(self, input) 4714 4715 def GetUseExternalEditor(self): 4716 r"""GetUseExternalEditor(SBDebugger self) -> bool""" 4717 return _lldb.SBDebugger_GetUseExternalEditor(self) 4718 4719 def SetUseColor(self, use_color): 4720 r"""SetUseColor(SBDebugger self, bool use_color) -> bool""" 4721 return _lldb.SBDebugger_SetUseColor(self, use_color) 4722 4723 def GetUseColor(self): 4724 r"""GetUseColor(SBDebugger self) -> bool""" 4725 return _lldb.SBDebugger_GetUseColor(self) 4726 4727 def SetUseSourceCache(self, use_source_cache): 4728 r"""SetUseSourceCache(SBDebugger self, bool use_source_cache) -> bool""" 4729 return _lldb.SBDebugger_SetUseSourceCache(self, use_source_cache) 4730 4731 def GetUseSourceCache(self): 4732 r"""GetUseSourceCache(SBDebugger self) -> bool""" 4733 return _lldb.SBDebugger_GetUseSourceCache(self) 4734 4735 @staticmethod 4736 def GetDefaultArchitecture(arch_name, arch_name_len): 4737 r"""GetDefaultArchitecture(char * arch_name, size_t arch_name_len) -> bool""" 4738 return _lldb.SBDebugger_GetDefaultArchitecture(arch_name, arch_name_len) 4739 4740 @staticmethod 4741 def SetDefaultArchitecture(arch_name): 4742 r"""SetDefaultArchitecture(char const * arch_name) -> bool""" 4743 return _lldb.SBDebugger_SetDefaultArchitecture(arch_name) 4744 4745 def GetScriptingLanguage(self, script_language_name): 4746 r"""GetScriptingLanguage(SBDebugger self, char const * script_language_name) -> lldb::ScriptLanguage""" 4747 return _lldb.SBDebugger_GetScriptingLanguage(self, script_language_name) 4748 4749 def GetScriptInterpreterInfo(self, arg2): 4750 r"""GetScriptInterpreterInfo(SBDebugger self, lldb::ScriptLanguage arg2) -> SBStructuredData""" 4751 return _lldb.SBDebugger_GetScriptInterpreterInfo(self, arg2) 4752 4753 @staticmethod 4754 def GetVersionString(): 4755 r"""GetVersionString() -> char const *""" 4756 return _lldb.SBDebugger_GetVersionString() 4757 4758 @staticmethod 4759 def StateAsCString(state): 4760 r"""StateAsCString(lldb::StateType state) -> char const *""" 4761 return _lldb.SBDebugger_StateAsCString(state) 4762 4763 @staticmethod 4764 def GetBuildConfiguration(): 4765 r"""GetBuildConfiguration() -> SBStructuredData""" 4766 return _lldb.SBDebugger_GetBuildConfiguration() 4767 4768 @staticmethod 4769 def StateIsRunningState(state): 4770 r"""StateIsRunningState(lldb::StateType state) -> bool""" 4771 return _lldb.SBDebugger_StateIsRunningState(state) 4772 4773 @staticmethod 4774 def StateIsStoppedState(state): 4775 r"""StateIsStoppedState(lldb::StateType state) -> bool""" 4776 return _lldb.SBDebugger_StateIsStoppedState(state) 4777 4778 def EnableLog(self, channel, categories): 4779 r"""EnableLog(SBDebugger self, char const * channel, char const ** categories) -> bool""" 4780 return _lldb.SBDebugger_EnableLog(self, channel, categories) 4781 4782 def SetLoggingCallback(self, log_callback): 4783 r"""SetLoggingCallback(SBDebugger self, lldb::LogOutputCallback log_callback)""" 4784 return _lldb.SBDebugger_SetLoggingCallback(self, log_callback) 4785 4786 def SetDestroyCallback(self, destroy_callback): 4787 r"""SetDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback)""" 4788 return _lldb.SBDebugger_SetDestroyCallback(self, destroy_callback) 4789 4790 def DispatchInput(self, data): 4791 r"""DispatchInput(SBDebugger self, void const * data)""" 4792 return _lldb.SBDebugger_DispatchInput(self, data) 4793 4794 def DispatchInputInterrupt(self): 4795 r"""DispatchInputInterrupt(SBDebugger self)""" 4796 return _lldb.SBDebugger_DispatchInputInterrupt(self) 4797 4798 def DispatchInputEndOfFile(self): 4799 r"""DispatchInputEndOfFile(SBDebugger self)""" 4800 return _lldb.SBDebugger_DispatchInputEndOfFile(self) 4801 4802 def GetInstanceName(self): 4803 r"""GetInstanceName(SBDebugger self) -> char const *""" 4804 return _lldb.SBDebugger_GetInstanceName(self) 4805 4806 @staticmethod 4807 def FindDebuggerWithID(id): 4808 r"""FindDebuggerWithID(int id) -> SBDebugger""" 4809 return _lldb.SBDebugger_FindDebuggerWithID(id) 4810 4811 @staticmethod 4812 def SetInternalVariable(var_name, value, debugger_instance_name): 4813 r"""SetInternalVariable(char const * var_name, char const * value, char const * debugger_instance_name) -> SBError""" 4814 return _lldb.SBDebugger_SetInternalVariable(var_name, value, debugger_instance_name) 4815 4816 @staticmethod 4817 def GetInternalVariableValue(var_name, debugger_instance_name): 4818 r"""GetInternalVariableValue(char const * var_name, char const * debugger_instance_name) -> SBStringList""" 4819 return _lldb.SBDebugger_GetInternalVariableValue(var_name, debugger_instance_name) 4820 4821 def GetDescription(self, description): 4822 r"""GetDescription(SBDebugger self, SBStream description) -> bool""" 4823 return _lldb.SBDebugger_GetDescription(self, description) 4824 4825 def GetTerminalWidth(self): 4826 r"""GetTerminalWidth(SBDebugger self) -> uint32_t""" 4827 return _lldb.SBDebugger_GetTerminalWidth(self) 4828 4829 def SetTerminalWidth(self, term_width): 4830 r"""SetTerminalWidth(SBDebugger self, uint32_t term_width)""" 4831 return _lldb.SBDebugger_SetTerminalWidth(self, term_width) 4832 4833 def GetID(self): 4834 r"""GetID(SBDebugger self) -> lldb::user_id_t""" 4835 return _lldb.SBDebugger_GetID(self) 4836 4837 def GetPrompt(self): 4838 r"""GetPrompt(SBDebugger self) -> char const *""" 4839 return _lldb.SBDebugger_GetPrompt(self) 4840 4841 def SetPrompt(self, prompt): 4842 r"""SetPrompt(SBDebugger self, char const * prompt)""" 4843 return _lldb.SBDebugger_SetPrompt(self, prompt) 4844 4845 def GetReproducerPath(self): 4846 r"""GetReproducerPath(SBDebugger self) -> char const *""" 4847 return _lldb.SBDebugger_GetReproducerPath(self) 4848 4849 def GetScriptLanguage(self): 4850 r"""GetScriptLanguage(SBDebugger self) -> lldb::ScriptLanguage""" 4851 return _lldb.SBDebugger_GetScriptLanguage(self) 4852 4853 def SetScriptLanguage(self, script_lang): 4854 r"""SetScriptLanguage(SBDebugger self, lldb::ScriptLanguage script_lang)""" 4855 return _lldb.SBDebugger_SetScriptLanguage(self, script_lang) 4856 4857 def GetREPLLanguage(self): 4858 r"""GetREPLLanguage(SBDebugger self) -> lldb::LanguageType""" 4859 return _lldb.SBDebugger_GetREPLLanguage(self) 4860 4861 def SetREPLLanguage(self, repl_lang): 4862 r"""SetREPLLanguage(SBDebugger self, lldb::LanguageType repl_lang)""" 4863 return _lldb.SBDebugger_SetREPLLanguage(self, repl_lang) 4864 4865 def GetCloseInputOnEOF(self): 4866 r"""GetCloseInputOnEOF(SBDebugger self) -> bool""" 4867 return _lldb.SBDebugger_GetCloseInputOnEOF(self) 4868 4869 def SetCloseInputOnEOF(self, b): 4870 r"""SetCloseInputOnEOF(SBDebugger self, bool b)""" 4871 return _lldb.SBDebugger_SetCloseInputOnEOF(self, b) 4872 4873 def GetCategory(self, *args): 4874 r""" 4875 GetCategory(SBDebugger self, char const * category_name) -> SBTypeCategory 4876 GetCategory(SBDebugger self, lldb::LanguageType lang_type) -> SBTypeCategory 4877 """ 4878 return _lldb.SBDebugger_GetCategory(self, *args) 4879 4880 def CreateCategory(self, category_name): 4881 r"""CreateCategory(SBDebugger self, char const * category_name) -> SBTypeCategory""" 4882 return _lldb.SBDebugger_CreateCategory(self, category_name) 4883 4884 def DeleteCategory(self, category_name): 4885 r"""DeleteCategory(SBDebugger self, char const * category_name) -> bool""" 4886 return _lldb.SBDebugger_DeleteCategory(self, category_name) 4887 4888 def GetNumCategories(self): 4889 r"""GetNumCategories(SBDebugger self) -> uint32_t""" 4890 return _lldb.SBDebugger_GetNumCategories(self) 4891 4892 def GetCategoryAtIndex(self, arg2): 4893 r"""GetCategoryAtIndex(SBDebugger self, uint32_t arg2) -> SBTypeCategory""" 4894 return _lldb.SBDebugger_GetCategoryAtIndex(self, arg2) 4895 4896 def GetDefaultCategory(self): 4897 r"""GetDefaultCategory(SBDebugger self) -> SBTypeCategory""" 4898 return _lldb.SBDebugger_GetDefaultCategory(self) 4899 4900 def GetFormatForType(self, arg2): 4901 r"""GetFormatForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFormat""" 4902 return _lldb.SBDebugger_GetFormatForType(self, arg2) 4903 4904 def GetSummaryForType(self, arg2): 4905 r"""GetSummaryForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSummary""" 4906 return _lldb.SBDebugger_GetSummaryForType(self, arg2) 4907 4908 def GetFilterForType(self, arg2): 4909 r"""GetFilterForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFilter""" 4910 return _lldb.SBDebugger_GetFilterForType(self, arg2) 4911 4912 def GetSyntheticForType(self, arg2): 4913 r"""GetSyntheticForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic""" 4914 return _lldb.SBDebugger_GetSyntheticForType(self, arg2) 4915 4916 def RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash): 4917 r""" 4918 RunCommandInterpreter(SBDebugger self, bool auto_handle_events, bool spawn_thread, SBCommandInterpreterRunOptions options, int & num_errors, bool & quit_requested, bool & stopped_for_crash) 4919 Launch a command interpreter session. Commands are read from standard input or 4920 from the input handle specified for the debugger object. Output/errors are 4921 similarly redirected to standard output/error or the configured handles. 4922 4923 @param[in] auto_handle_events If true, automatically handle resulting events. 4924 @param[in] spawn_thread If true, start a new thread for IO handling. 4925 @param[in] options Parameter collection of type SBCommandInterpreterRunOptions. 4926 @param[in] num_errors Initial error counter. 4927 @param[in] quit_requested Initial quit request flag. 4928 @param[in] stopped_for_crash Initial crash flag. 4929 4930 @return 4931 A tuple with the number of errors encountered by the interpreter, a boolean 4932 indicating whether quitting the interpreter was requested and another boolean 4933 set to True in case of a crash. 4934 4935 Example: :: 4936 4937 # Start an interactive lldb session from a script (with a valid debugger object 4938 # created beforehand): 4939 n_errors, quit_requested, has_crashed = debugger.RunCommandInterpreter(True, 4940 False, lldb.SBCommandInterpreterRunOptions(), 0, False, False) 4941 """ 4942 return _lldb.SBDebugger_RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash) 4943 4944 def RunREPL(self, language, repl_options): 4945 r"""RunREPL(SBDebugger self, lldb::LanguageType language, char const * repl_options) -> SBError""" 4946 return _lldb.SBDebugger_RunREPL(self, language, repl_options) 4947 4948 def LoadTraceFromFile(self, error, trace_description_file): 4949 r"""LoadTraceFromFile(SBDebugger self, SBError error, SBFileSpec trace_description_file) -> SBTrace""" 4950 return _lldb.SBDebugger_LoadTraceFromFile(self, error, trace_description_file) 4951 4952 def __repr__(self): 4953 r"""__repr__(SBDebugger self) -> std::string""" 4954 return _lldb.SBDebugger___repr__(self) 4955 4956 def SetOutputFileHandle(self, file, transfer_ownership): 4957 "DEPRECATED, use SetOutputFile" 4958 if file is None: 4959 import sys 4960 file = sys.stdout 4961 self.SetOutputFile(SBFile.Create(file, borrow=True)) 4962 4963 def SetInputFileHandle(self, file, transfer_ownership): 4964 "DEPRECATED, use SetInputFile" 4965 if file is None: 4966 import sys 4967 file = sys.stdin 4968 self.SetInputFile(SBFile.Create(file, borrow=True)) 4969 4970 def SetErrorFileHandle(self, file, transfer_ownership): 4971 "DEPRECATED, use SetErrorFile" 4972 if file is None: 4973 import sys 4974 file = sys.stderr 4975 self.SetErrorFile(SBFile.Create(file, borrow=True)) 4976 4977 def __iter__(self): 4978 '''Iterate over all targets in a lldb.SBDebugger object.''' 4979 return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex') 4980 4981 def __len__(self): 4982 '''Return the number of targets in a lldb.SBDebugger object.''' 4983 return self.GetNumTargets() 4984 4985 4986 def GetInputFileHandle(self): 4987 r"""GetInputFileHandle(SBDebugger self) -> lldb::FileSP""" 4988 return _lldb.SBDebugger_GetInputFileHandle(self) 4989 4990 def GetOutputFileHandle(self): 4991 r"""GetOutputFileHandle(SBDebugger self) -> lldb::FileSP""" 4992 return _lldb.SBDebugger_GetOutputFileHandle(self) 4993 4994 def GetErrorFileHandle(self): 4995 r"""GetErrorFileHandle(SBDebugger self) -> lldb::FileSP""" 4996 return _lldb.SBDebugger_GetErrorFileHandle(self) 4997 4998# Register SBDebugger in _lldb: 4999_lldb.SBDebugger_swigregister(SBDebugger) 5000class SBDeclaration(object): 5001 r"""Specifies an association with a line and column for a variable.""" 5002 5003 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5004 5005 def __init__(self, *args): 5006 r""" 5007 __init__(SBDeclaration self) -> SBDeclaration 5008 __init__(SBDeclaration self, SBDeclaration rhs) -> SBDeclaration 5009 """ 5010 _lldb.SBDeclaration_swiginit(self, _lldb.new_SBDeclaration(*args)) 5011 __swig_destroy__ = _lldb.delete_SBDeclaration 5012 5013 def __nonzero__(self): 5014 return _lldb.SBDeclaration___nonzero__(self) 5015 __bool__ = __nonzero__ 5016 5017 5018 5019 def IsValid(self): 5020 r"""IsValid(SBDeclaration self) -> bool""" 5021 return _lldb.SBDeclaration_IsValid(self) 5022 5023 def GetFileSpec(self): 5024 r"""GetFileSpec(SBDeclaration self) -> SBFileSpec""" 5025 return _lldb.SBDeclaration_GetFileSpec(self) 5026 5027 def GetLine(self): 5028 r"""GetLine(SBDeclaration self) -> uint32_t""" 5029 return _lldb.SBDeclaration_GetLine(self) 5030 5031 def GetColumn(self): 5032 r"""GetColumn(SBDeclaration self) -> uint32_t""" 5033 return _lldb.SBDeclaration_GetColumn(self) 5034 5035 def SetFileSpec(self, filespec): 5036 r"""SetFileSpec(SBDeclaration self, SBFileSpec filespec)""" 5037 return _lldb.SBDeclaration_SetFileSpec(self, filespec) 5038 5039 def SetLine(self, line): 5040 r"""SetLine(SBDeclaration self, uint32_t line)""" 5041 return _lldb.SBDeclaration_SetLine(self, line) 5042 5043 def SetColumn(self, column): 5044 r"""SetColumn(SBDeclaration self, uint32_t column)""" 5045 return _lldb.SBDeclaration_SetColumn(self, column) 5046 5047 def __eq__(self, rhs): 5048 r"""__eq__(SBDeclaration self, SBDeclaration rhs) -> bool""" 5049 return _lldb.SBDeclaration___eq__(self, rhs) 5050 5051 def __ne__(self, rhs): 5052 r"""__ne__(SBDeclaration self, SBDeclaration rhs) -> bool""" 5053 return _lldb.SBDeclaration___ne__(self, rhs) 5054 5055 def GetDescription(self, description): 5056 r"""GetDescription(SBDeclaration self, SBStream description) -> bool""" 5057 return _lldb.SBDeclaration_GetDescription(self, description) 5058 5059 def __repr__(self): 5060 r"""__repr__(SBDeclaration self) -> std::string""" 5061 return _lldb.SBDeclaration___repr__(self) 5062 5063 # operator== is a free function, which swig does not handle, so we inject 5064 # our own equality operator here 5065 def __eq__(self, other): 5066 return not self.__ne__(other) 5067 5068 file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''') 5069 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.''') 5070 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.''') 5071 5072 5073 def __eq__(self, rhs): 5074 if not isinstance(rhs, type(self)): 5075 return False 5076 5077 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 5078 5079 def __ne__(self, rhs): 5080 if not isinstance(rhs, type(self)): 5081 return True 5082 5083 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 5084 5085 5086# Register SBDeclaration in _lldb: 5087_lldb.SBDeclaration_swigregister(SBDeclaration) 5088class SBError(object): 5089 r""" 5090 Represents a container for holding any error code. 5091 5092 For example (from test/python_api/hello_world/TestHelloWorld.py), :: 5093 5094 def hello_world_attach_with_id_api(self): 5095 '''Create target, spawn a process, and attach to it by id.''' 5096 5097 target = self.dbg.CreateTarget(self.exe) 5098 5099 # Spawn a new process and don't display the stdout if not in TraceOn() mode. 5100 import subprocess 5101 popen = subprocess.Popen([self.exe, 'abc', 'xyz'], 5102 stdout = open(os.devnull, 'w') if not self.TraceOn() else None) 5103 5104 listener = lldb.SBListener('my.attach.listener') 5105 error = lldb.SBError() 5106 process = target.AttachToProcessWithID(listener, popen.pid, error) 5107 5108 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5109 5110 # Let's check the stack traces of the attached process. 5111 import lldbutil 5112 stacktraces = lldbutil.print_stacktraces(process, string_buffer=True) 5113 self.expect(stacktraces, exe=False, 5114 substrs = ['main.c:%d' % self.line2, 5115 '(int)argc=3']) 5116 5117 listener = lldb.SBListener('my.attach.listener') 5118 error = lldb.SBError() 5119 process = target.AttachToProcessWithID(listener, popen.pid, error) 5120 5121 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5122 5123 checks that after the attach, there is no error condition by asserting 5124 that error.Success() is True and we get back a valid process object. 5125 5126 And (from test/python_api/event/TestEvent.py), :: 5127 5128 # Now launch the process, and do not stop at entry point. 5129 error = lldb.SBError() 5130 process = target.Launch(listener, None, None, None, None, None, None, 0, False, error) 5131 self.assertTrue(error.Success() and process, PROCESS_IS_VALID) 5132 5133 checks that after calling the target.Launch() method there's no error 5134 condition and we get back a void process object. 5135 """ 5136 5137 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5138 5139 def __init__(self, *args): 5140 r""" 5141 __init__(SBError self) -> SBError 5142 __init__(SBError self, SBError rhs) -> SBError 5143 __init__(SBError self, char const * message) -> SBError 5144 """ 5145 _lldb.SBError_swiginit(self, _lldb.new_SBError(*args)) 5146 __swig_destroy__ = _lldb.delete_SBError 5147 5148 def GetCString(self): 5149 r"""GetCString(SBError self) -> char const *""" 5150 return _lldb.SBError_GetCString(self) 5151 5152 def Clear(self): 5153 r"""Clear(SBError self)""" 5154 return _lldb.SBError_Clear(self) 5155 5156 def Fail(self): 5157 r"""Fail(SBError self) -> bool""" 5158 return _lldb.SBError_Fail(self) 5159 5160 def Success(self): 5161 r"""Success(SBError self) -> bool""" 5162 return _lldb.SBError_Success(self) 5163 5164 def GetError(self): 5165 r"""GetError(SBError self) -> uint32_t""" 5166 return _lldb.SBError_GetError(self) 5167 5168 def GetType(self): 5169 r"""GetType(SBError self) -> lldb::ErrorType""" 5170 return _lldb.SBError_GetType(self) 5171 5172 def SetError(self, err, type): 5173 r"""SetError(SBError self, uint32_t err, lldb::ErrorType type)""" 5174 return _lldb.SBError_SetError(self, err, type) 5175 5176 def SetErrorToErrno(self): 5177 r"""SetErrorToErrno(SBError self)""" 5178 return _lldb.SBError_SetErrorToErrno(self) 5179 5180 def SetErrorToGenericError(self): 5181 r"""SetErrorToGenericError(SBError self)""" 5182 return _lldb.SBError_SetErrorToGenericError(self) 5183 5184 def SetErrorString(self, err_str): 5185 r"""SetErrorString(SBError self, char const * err_str)""" 5186 return _lldb.SBError_SetErrorString(self, err_str) 5187 5188 def SetErrorStringWithFormat(self, format, str1=None, str2=None, str3=None): 5189 r"""SetErrorStringWithFormat(SBError self, char const * format, char * str1=None, char * str2=None, char * str3=None) -> int""" 5190 return _lldb.SBError_SetErrorStringWithFormat(self, format, str1, str2, str3) 5191 5192 def __nonzero__(self): 5193 return _lldb.SBError___nonzero__(self) 5194 __bool__ = __nonzero__ 5195 5196 5197 5198 def IsValid(self): 5199 r"""IsValid(SBError self) -> bool""" 5200 return _lldb.SBError_IsValid(self) 5201 5202 def GetDescription(self, description): 5203 r"""GetDescription(SBError self, SBStream description) -> bool""" 5204 return _lldb.SBError_GetDescription(self, description) 5205 5206 def __repr__(self): 5207 r"""__repr__(SBError self) -> std::string""" 5208 return _lldb.SBError___repr__(self) 5209 5210 def __int__(self): 5211 return self.GetError() 5212 5213 value = property(GetError, None, doc='''A read only property that returns the same result as GetError().''') 5214 fail = property(Fail, None, doc='''A read only property that returns the same result as Fail().''') 5215 success = property(Success, None, doc='''A read only property that returns the same result as Success().''') 5216 description = property(GetCString, None, doc='''A read only property that returns the same result as GetCString().''') 5217 type = property(GetType, None, doc='''A read only property that returns the same result as GetType().''') 5218 5219 5220# Register SBError in _lldb: 5221_lldb.SBError_swigregister(SBError) 5222class SBEnvironment(object): 5223 r""" 5224 Represents the environment of a certain process. 5225 5226 Example: :: 5227 5228 for entry in lldb.debugger.GetSelectedTarget().GetEnvironment().GetEntries(): 5229 print(entry) 5230 5231 5232 """ 5233 5234 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5235 __repr__ = _swig_repr 5236 5237 def __init__(self, *args): 5238 r""" 5239 __init__(SBEnvironment self) -> SBEnvironment 5240 __init__(SBEnvironment self, SBEnvironment rhs) -> SBEnvironment 5241 """ 5242 _lldb.SBEnvironment_swiginit(self, _lldb.new_SBEnvironment(*args)) 5243 __swig_destroy__ = _lldb.delete_SBEnvironment 5244 5245 def Get(self, name): 5246 r"""Get(SBEnvironment self, char const * name) -> char const *""" 5247 return _lldb.SBEnvironment_Get(self, name) 5248 5249 def GetNumValues(self): 5250 r"""GetNumValues(SBEnvironment self) -> size_t""" 5251 return _lldb.SBEnvironment_GetNumValues(self) 5252 5253 def GetNameAtIndex(self, index): 5254 r"""GetNameAtIndex(SBEnvironment self, size_t index) -> char const *""" 5255 return _lldb.SBEnvironment_GetNameAtIndex(self, index) 5256 5257 def GetValueAtIndex(self, index): 5258 r"""GetValueAtIndex(SBEnvironment self, size_t index) -> char const *""" 5259 return _lldb.SBEnvironment_GetValueAtIndex(self, index) 5260 5261 def GetEntries(self): 5262 r"""GetEntries(SBEnvironment self) -> SBStringList""" 5263 return _lldb.SBEnvironment_GetEntries(self) 5264 5265 def PutEntry(self, name_and_value): 5266 r"""PutEntry(SBEnvironment self, char const * name_and_value)""" 5267 return _lldb.SBEnvironment_PutEntry(self, name_and_value) 5268 5269 def SetEntries(self, entries, append): 5270 r"""SetEntries(SBEnvironment self, SBStringList entries, bool append)""" 5271 return _lldb.SBEnvironment_SetEntries(self, entries, append) 5272 5273 def Set(self, name, value, overwrite): 5274 r"""Set(SBEnvironment self, char const * name, char const * value, bool overwrite) -> bool""" 5275 return _lldb.SBEnvironment_Set(self, name, value, overwrite) 5276 5277 def Unset(self, name): 5278 r"""Unset(SBEnvironment self, char const * name) -> bool""" 5279 return _lldb.SBEnvironment_Unset(self, name) 5280 5281 def Clear(self): 5282 r"""Clear(SBEnvironment self)""" 5283 return _lldb.SBEnvironment_Clear(self) 5284 5285# Register SBEnvironment in _lldb: 5286_lldb.SBEnvironment_swigregister(SBEnvironment) 5287class SBEvent(object): 5288 r""" 5289 API clients can register to receive events. 5290 5291 For example, check out the following output: :: 5292 5293 Try wait for event... 5294 Event description: 0x103d0bb70 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = running} 5295 Event data flavor: Process::ProcessEventData 5296 Process state: running 5297 5298 Try wait for event... 5299 Event description: 0x103a700a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = stopped} 5300 Event data flavor: Process::ProcessEventData 5301 Process state: stopped 5302 5303 Try wait for event... 5304 Event description: 0x103d0d4a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = exited} 5305 Event data flavor: Process::ProcessEventData 5306 Process state: exited 5307 5308 Try wait for event... 5309 timeout occurred waiting for event... 5310 5311 from test/python_api/event/TestEventspy: :: 5312 5313 def do_listen_for_and_print_event(self): 5314 '''Create a listener and use SBEvent API to print the events received.''' 5315 exe = os.path.join(os.getcwd(), 'a.out') 5316 5317 # Create a target by the debugger. 5318 target = self.dbg.CreateTarget(exe) 5319 self.assertTrue(target, VALID_TARGET) 5320 5321 # Now create a breakpoint on main.c by name 'c'. 5322 breakpoint = target.BreakpointCreateByName('c', 'a.out') 5323 5324 # Now launch the process, and do not stop at the entry point. 5325 process = target.LaunchSimple(None, None, os.getcwd()) 5326 self.assertTrue(process.GetState() == lldb.eStateStopped, 5327 PROCESS_STOPPED) 5328 5329 # Get a handle on the process's broadcaster. 5330 broadcaster = process.GetBroadcaster() 5331 5332 # Create an empty event object. 5333 event = lldb.SBEvent() 5334 5335 # Create a listener object and register with the broadcaster. 5336 listener = lldb.SBListener('my listener') 5337 rc = broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged) 5338 self.assertTrue(rc, 'AddListener successfully retruns') 5339 5340 traceOn = self.TraceOn() 5341 if traceOn: 5342 lldbutil.print_stacktraces(process) 5343 5344 # Create MyListeningThread class to wait for any kind of event. 5345 import threading 5346 class MyListeningThread(threading.Thread): 5347 def run(self): 5348 count = 0 5349 # Let's only try at most 4 times to retrieve any kind of event. 5350 # After that, the thread exits. 5351 while not count > 3: 5352 if traceOn: 5353 print('Try wait for event...') 5354 if listener.WaitForEventForBroadcasterWithType(5, 5355 broadcaster, 5356 lldb.SBProcess.eBroadcastBitStateChanged, 5357 event): 5358 if traceOn: 5359 desc = lldbutil.get_description(event)) 5360 print('Event description:', desc) 5361 print('Event data flavor:', event.GetDataFlavor()) 5362 print('Process state:', lldbutil.state_type_to_str(process.GetState())) 5363 print() 5364 else: 5365 if traceOn: 5366 print 'timeout occurred waiting for event...' 5367 count = count + 1 5368 return 5369 5370 # Let's start the listening thread to retrieve the events. 5371 my_thread = MyListeningThread() 5372 my_thread.start() 5373 5374 # Use Python API to continue the process. The listening thread should be 5375 # able to receive the state changed events. 5376 process.Continue() 5377 5378 # Use Python API to kill the process. The listening thread should be 5379 # able to receive the state changed event, too. 5380 process.Kill() 5381 5382 # Wait until the 'MyListeningThread' terminates. 5383 my_thread.join() 5384 """ 5385 5386 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5387 __repr__ = _swig_repr 5388 5389 def __init__(self, *args): 5390 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)""" 5391 _lldb.SBEvent_swiginit(self, _lldb.new_SBEvent(*args)) 5392 __swig_destroy__ = _lldb.delete_SBEvent 5393 5394 def __nonzero__(self): 5395 return _lldb.SBEvent___nonzero__(self) 5396 __bool__ = __nonzero__ 5397 5398 5399 5400 def IsValid(self): 5401 r"""IsValid(SBEvent self) -> bool""" 5402 return _lldb.SBEvent_IsValid(self) 5403 5404 def GetDataFlavor(self): 5405 r"""GetDataFlavor(SBEvent self) -> char const *""" 5406 return _lldb.SBEvent_GetDataFlavor(self) 5407 5408 def GetType(self): 5409 r"""GetType(SBEvent self) -> uint32_t""" 5410 return _lldb.SBEvent_GetType(self) 5411 5412 def GetBroadcaster(self): 5413 r"""GetBroadcaster(SBEvent self) -> SBBroadcaster""" 5414 return _lldb.SBEvent_GetBroadcaster(self) 5415 5416 def GetBroadcasterClass(self): 5417 r"""GetBroadcasterClass(SBEvent self) -> char const *""" 5418 return _lldb.SBEvent_GetBroadcasterClass(self) 5419 5420 def BroadcasterMatchesRef(self, broadcaster): 5421 r"""BroadcasterMatchesRef(SBEvent self, SBBroadcaster broadcaster) -> bool""" 5422 return _lldb.SBEvent_BroadcasterMatchesRef(self, broadcaster) 5423 5424 def Clear(self): 5425 r"""Clear(SBEvent self)""" 5426 return _lldb.SBEvent_Clear(self) 5427 5428 @staticmethod 5429 def GetCStringFromEvent(event): 5430 r"""GetCStringFromEvent(SBEvent event) -> char const *""" 5431 return _lldb.SBEvent_GetCStringFromEvent(event) 5432 5433 def GetDescription(self, *args): 5434 r""" 5435 GetDescription(SBEvent self, SBStream description) -> bool 5436 GetDescription(SBEvent self, SBStream description) -> bool 5437 """ 5438 return _lldb.SBEvent_GetDescription(self, *args) 5439 5440# Register SBEvent in _lldb: 5441_lldb.SBEvent_swigregister(SBEvent) 5442class SBExecutionContext(object): 5443 r"""Describes the program context in which a command should be executed.""" 5444 5445 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5446 __repr__ = _swig_repr 5447 5448 def __init__(self, *args): 5449 r""" 5450 __init__(SBExecutionContext self) -> SBExecutionContext 5451 __init__(SBExecutionContext self, SBExecutionContext rhs) -> SBExecutionContext 5452 __init__(SBExecutionContext self, SBTarget target) -> SBExecutionContext 5453 __init__(SBExecutionContext self, SBProcess process) -> SBExecutionContext 5454 __init__(SBExecutionContext self, SBThread thread) -> SBExecutionContext 5455 __init__(SBExecutionContext self, SBFrame frame) -> SBExecutionContext 5456 """ 5457 _lldb.SBExecutionContext_swiginit(self, _lldb.new_SBExecutionContext(*args)) 5458 __swig_destroy__ = _lldb.delete_SBExecutionContext 5459 5460 def GetTarget(self): 5461 r"""GetTarget(SBExecutionContext self) -> SBTarget""" 5462 return _lldb.SBExecutionContext_GetTarget(self) 5463 5464 def GetProcess(self): 5465 r"""GetProcess(SBExecutionContext self) -> SBProcess""" 5466 return _lldb.SBExecutionContext_GetProcess(self) 5467 5468 def GetThread(self): 5469 r"""GetThread(SBExecutionContext self) -> SBThread""" 5470 return _lldb.SBExecutionContext_GetThread(self) 5471 5472 def GetFrame(self): 5473 r"""GetFrame(SBExecutionContext self) -> SBFrame""" 5474 return _lldb.SBExecutionContext_GetFrame(self) 5475 5476 target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''') 5477 process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''') 5478 thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''') 5479 frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''') 5480 5481 5482# Register SBExecutionContext in _lldb: 5483_lldb.SBExecutionContext_swigregister(SBExecutionContext) 5484class SBExpressionOptions(object): 5485 r"""A container for options to use when evaluating expressions.""" 5486 5487 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5488 __repr__ = _swig_repr 5489 5490 def __init__(self, *args): 5491 r""" 5492 __init__(SBExpressionOptions self) -> SBExpressionOptions 5493 __init__(SBExpressionOptions self, SBExpressionOptions rhs) -> SBExpressionOptions 5494 """ 5495 _lldb.SBExpressionOptions_swiginit(self, _lldb.new_SBExpressionOptions(*args)) 5496 __swig_destroy__ = _lldb.delete_SBExpressionOptions 5497 5498 def GetCoerceResultToId(self): 5499 r"""GetCoerceResultToId(SBExpressionOptions self) -> bool""" 5500 return _lldb.SBExpressionOptions_GetCoerceResultToId(self) 5501 5502 def SetCoerceResultToId(self, coerce=True): 5503 r""" 5504 SetCoerceResultToId(SBExpressionOptions self, bool coerce=True) 5505 Sets whether to coerce the expression result to ObjC id type after evaluation. 5506 """ 5507 return _lldb.SBExpressionOptions_SetCoerceResultToId(self, coerce) 5508 5509 def GetUnwindOnError(self): 5510 r"""GetUnwindOnError(SBExpressionOptions self) -> bool""" 5511 return _lldb.SBExpressionOptions_GetUnwindOnError(self) 5512 5513 def SetUnwindOnError(self, unwind=True): 5514 r""" 5515 SetUnwindOnError(SBExpressionOptions self, bool unwind=True) 5516 Sets whether to unwind the expression stack on error. 5517 """ 5518 return _lldb.SBExpressionOptions_SetUnwindOnError(self, unwind) 5519 5520 def GetIgnoreBreakpoints(self): 5521 r"""GetIgnoreBreakpoints(SBExpressionOptions self) -> bool""" 5522 return _lldb.SBExpressionOptions_GetIgnoreBreakpoints(self) 5523 5524 def SetIgnoreBreakpoints(self, ignore=True): 5525 r""" 5526 SetIgnoreBreakpoints(SBExpressionOptions self, bool ignore=True) 5527 Sets whether to ignore breakpoint hits while running expressions. 5528 """ 5529 return _lldb.SBExpressionOptions_SetIgnoreBreakpoints(self, ignore) 5530 5531 def GetFetchDynamicValue(self): 5532 r"""GetFetchDynamicValue(SBExpressionOptions self) -> lldb::DynamicValueType""" 5533 return _lldb.SBExpressionOptions_GetFetchDynamicValue(self) 5534 5535 def SetFetchDynamicValue(self, *args): 5536 r""" 5537 SetFetchDynamicValue(SBExpressionOptions self, lldb::DynamicValueType dynamic=eDynamicCanRunTarget) 5538 Sets whether to cast the expression result to its dynamic type. 5539 """ 5540 return _lldb.SBExpressionOptions_SetFetchDynamicValue(self, *args) 5541 5542 def GetTimeoutInMicroSeconds(self): 5543 r"""GetTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t""" 5544 return _lldb.SBExpressionOptions_GetTimeoutInMicroSeconds(self) 5545 5546 def SetTimeoutInMicroSeconds(self, timeout=0): 5547 r""" 5548 SetTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0) 5549 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. 5550 """ 5551 return _lldb.SBExpressionOptions_SetTimeoutInMicroSeconds(self, timeout) 5552 5553 def GetOneThreadTimeoutInMicroSeconds(self): 5554 r"""GetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t""" 5555 return _lldb.SBExpressionOptions_GetOneThreadTimeoutInMicroSeconds(self) 5556 5557 def SetOneThreadTimeoutInMicroSeconds(self, timeout=0): 5558 r""" 5559 SetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0) 5560 Sets the timeout in microseconds to run the expression on one thread before either timing out or trying all threads. 5561 """ 5562 return _lldb.SBExpressionOptions_SetOneThreadTimeoutInMicroSeconds(self, timeout) 5563 5564 def GetTryAllThreads(self): 5565 r"""GetTryAllThreads(SBExpressionOptions self) -> bool""" 5566 return _lldb.SBExpressionOptions_GetTryAllThreads(self) 5567 5568 def SetTryAllThreads(self, run_others=True): 5569 r""" 5570 SetTryAllThreads(SBExpressionOptions self, bool run_others=True) 5571 Sets whether to run all threads if the expression does not complete on one thread. 5572 """ 5573 return _lldb.SBExpressionOptions_SetTryAllThreads(self, run_others) 5574 5575 def GetStopOthers(self): 5576 r"""GetStopOthers(SBExpressionOptions self) -> bool""" 5577 return _lldb.SBExpressionOptions_GetStopOthers(self) 5578 5579 def SetStopOthers(self, stop_others=True): 5580 r""" 5581 SetStopOthers(SBExpressionOptions self, bool stop_others=True) 5582 Sets whether to stop other threads at all while running expressions. If false, TryAllThreads does nothing. 5583 """ 5584 return _lldb.SBExpressionOptions_SetStopOthers(self, stop_others) 5585 5586 def GetTrapExceptions(self): 5587 r"""GetTrapExceptions(SBExpressionOptions self) -> bool""" 5588 return _lldb.SBExpressionOptions_GetTrapExceptions(self) 5589 5590 def SetTrapExceptions(self, trap_exceptions=True): 5591 r""" 5592 SetTrapExceptions(SBExpressionOptions self, bool trap_exceptions=True) 5593 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. 5594 """ 5595 return _lldb.SBExpressionOptions_SetTrapExceptions(self, trap_exceptions) 5596 5597 def SetLanguage(self, *args): 5598 r""" 5599 SetLanguage(SBExpressionOptions self, lldb::LanguageType language) 5600 SetLanguage(SBExpressionOptions self, SBSourceLanguageName name, uint32_t version) 5601 Sets the language that LLDB should assume the expression is written in 5602 """ 5603 return _lldb.SBExpressionOptions_SetLanguage(self, *args) 5604 5605 def GetGenerateDebugInfo(self): 5606 r"""GetGenerateDebugInfo(SBExpressionOptions self) -> bool""" 5607 return _lldb.SBExpressionOptions_GetGenerateDebugInfo(self) 5608 5609 def SetGenerateDebugInfo(self, b=True): 5610 r""" 5611 SetGenerateDebugInfo(SBExpressionOptions self, bool b=True) 5612 Sets whether to generate debug information for the expression and also controls if a SBModule is generated. 5613 """ 5614 return _lldb.SBExpressionOptions_SetGenerateDebugInfo(self, b) 5615 5616 def GetSuppressPersistentResult(self): 5617 r"""GetSuppressPersistentResult(SBExpressionOptions self) -> bool""" 5618 return _lldb.SBExpressionOptions_GetSuppressPersistentResult(self) 5619 5620 def SetSuppressPersistentResult(self, b=False): 5621 r""" 5622 SetSuppressPersistentResult(SBExpressionOptions self, bool b=False) 5623 Sets whether to produce a persistent result that can be used in future expressions. 5624 """ 5625 return _lldb.SBExpressionOptions_SetSuppressPersistentResult(self, b) 5626 5627 def GetPrefix(self): 5628 r""" 5629 GetPrefix(SBExpressionOptions self) -> char const * 5630 Gets the prefix to use for this expression. 5631 """ 5632 return _lldb.SBExpressionOptions_GetPrefix(self) 5633 5634 def SetPrefix(self, prefix): 5635 r""" 5636 SetPrefix(SBExpressionOptions self, char const * prefix) 5637 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. 5638 """ 5639 return _lldb.SBExpressionOptions_SetPrefix(self, prefix) 5640 5641 def SetAutoApplyFixIts(self, b=True): 5642 r""" 5643 SetAutoApplyFixIts(SBExpressionOptions self, bool b=True) 5644 Sets whether to auto-apply fix-it hints to the expression being evaluated. 5645 """ 5646 return _lldb.SBExpressionOptions_SetAutoApplyFixIts(self, b) 5647 5648 def GetAutoApplyFixIts(self): 5649 r""" 5650 GetAutoApplyFixIts(SBExpressionOptions self) -> bool 5651 Gets whether to auto-apply fix-it hints to an expression. 5652 """ 5653 return _lldb.SBExpressionOptions_GetAutoApplyFixIts(self) 5654 5655 def SetRetriesWithFixIts(self, retries): 5656 r""" 5657 SetRetriesWithFixIts(SBExpressionOptions self, uint64_t retries) 5658 Sets how often LLDB should retry applying fix-its to an expression. 5659 """ 5660 return _lldb.SBExpressionOptions_SetRetriesWithFixIts(self, retries) 5661 5662 def GetRetriesWithFixIts(self): 5663 r""" 5664 GetRetriesWithFixIts(SBExpressionOptions self) -> uint64_t 5665 Gets how often LLDB will retry applying fix-its to an expression. 5666 """ 5667 return _lldb.SBExpressionOptions_GetRetriesWithFixIts(self) 5668 5669 def GetTopLevel(self): 5670 r"""GetTopLevel(SBExpressionOptions self) -> bool""" 5671 return _lldb.SBExpressionOptions_GetTopLevel(self) 5672 5673 def SetTopLevel(self, b=True): 5674 r"""SetTopLevel(SBExpressionOptions self, bool b=True)""" 5675 return _lldb.SBExpressionOptions_SetTopLevel(self, b) 5676 5677 def GetAllowJIT(self): 5678 r""" 5679 GetAllowJIT(SBExpressionOptions self) -> bool 5680 Gets whether to JIT an expression if it cannot be interpreted. 5681 """ 5682 return _lldb.SBExpressionOptions_GetAllowJIT(self) 5683 5684 def SetAllowJIT(self, allow): 5685 r""" 5686 SetAllowJIT(SBExpressionOptions self, bool allow) 5687 Sets whether to JIT an expression if it cannot be interpreted. 5688 """ 5689 return _lldb.SBExpressionOptions_SetAllowJIT(self, allow) 5690 5691# Register SBExpressionOptions in _lldb: 5692_lldb.SBExpressionOptions_swigregister(SBExpressionOptions) 5693class SBFile(object): 5694 r"""Represents a file.""" 5695 5696 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5697 __repr__ = _swig_repr 5698 5699 def __init__(self, *args): 5700 r""" 5701 __init__(SBFile self) -> SBFile 5702 __init__(SBFile self, lldb::FileSP file_sp) -> SBFile 5703 __init__(SBFile self, int fd, char const * mode, bool transfer_ownership) -> SBFile 5704 initialize a SBFile from a python file object 5705 """ 5706 _lldb.SBFile_swiginit(self, _lldb.new_SBFile(*args)) 5707 __swig_destroy__ = _lldb.delete_SBFile 5708 5709 def Read(self, buf): 5710 r"""Read(buffer) -> SBError, bytes_read""" 5711 return _lldb.SBFile_Read(self, buf) 5712 5713 def Write(self, buf): 5714 r"""Write(buffer) -> SBError, written_read""" 5715 return _lldb.SBFile_Write(self, buf) 5716 5717 def Flush(self): 5718 r"""Flush(SBFile self) -> SBError""" 5719 return _lldb.SBFile_Flush(self) 5720 5721 def IsValid(self): 5722 r"""IsValid(SBFile self) -> bool""" 5723 return _lldb.SBFile_IsValid(self) 5724 5725 def Close(self): 5726 r"""Close(SBFile self) -> SBError""" 5727 return _lldb.SBFile_Close(self) 5728 5729 def __nonzero__(self): 5730 return _lldb.SBFile___nonzero__(self) 5731 __bool__ = __nonzero__ 5732 5733 5734 5735 def GetFile(self): 5736 r""" 5737 GetFile(SBFile self) -> lldb::FileSP 5738 5739 Convert this SBFile into a python io.IOBase file object. 5740 5741 If the SBFile is itself a wrapper around a python file object, 5742 this will return that original object. 5743 5744 The file returned from here should be considered borrowed, 5745 in the sense that you may read and write to it, and flush it, 5746 etc, but you should not close it. If you want to close the 5747 SBFile, call SBFile.Close(). 5748 5749 If there is no underlying python file to unwrap, GetFile will 5750 use the file descriptor, if available to create a new python 5751 file object using ``open(fd, mode=..., closefd=False)`` 5752 5753 """ 5754 return _lldb.SBFile_GetFile(self) 5755 5756 @staticmethod 5757 def MakeBorrowed(BORROWED): 5758 r"""MakeBorrowed(lldb::FileSP BORROWED) -> SBFile""" 5759 return _lldb.SBFile_MakeBorrowed(BORROWED) 5760 5761 @staticmethod 5762 def MakeForcingIOMethods(FORCE_IO_METHODS): 5763 r"""MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) -> SBFile""" 5764 return _lldb.SBFile_MakeForcingIOMethods(FORCE_IO_METHODS) 5765 5766 @staticmethod 5767 def MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS): 5768 r"""MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) -> SBFile""" 5769 return _lldb.SBFile_MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS) 5770 5771 @classmethod 5772 def Create(cls, file, borrow=False, force_io_methods=False): 5773 """ 5774 Create a SBFile from a python file object, with options. 5775 5776 If borrow is set then the underlying file will 5777 not be closed when the SBFile is closed or destroyed. 5778 5779 If force_scripting_io is set then the python read/write 5780 methods will be called even if a file descriptor is available. 5781 """ 5782 if borrow: 5783 if force_io_methods: 5784 return cls.MakeBorrowedForcingIOMethods(file) 5785 else: 5786 return cls.MakeBorrowed(file) 5787 else: 5788 if force_io_methods: 5789 return cls.MakeForcingIOMethods(file) 5790 else: 5791 return cls(file) 5792 5793 5794# Register SBFile in _lldb: 5795_lldb.SBFile_swigregister(SBFile) 5796class SBFileSpec(object): 5797 r""" 5798 Represents a file specification that divides the path into a directory and 5799 basename. The string values of the paths are put into uniqued string pools 5800 for fast comparisons and efficient memory usage. 5801 5802 For example, the following code :: 5803 5804 lineEntry = context.GetLineEntry() 5805 self.expect(lineEntry.GetFileSpec().GetDirectory(), 'The line entry should have the correct directory', 5806 exe=False, 5807 substrs = [self.mydir]) 5808 self.expect(lineEntry.GetFileSpec().GetFilename(), 'The line entry should have the correct filename', 5809 exe=False, 5810 substrs = ['main.c']) 5811 self.assertTrue(lineEntry.GetLine() == self.line, 5812 'The line entry's line number should match ') 5813 5814 gets the line entry from the symbol context when a thread is stopped. 5815 It gets the file spec corresponding to the line entry and checks that 5816 the filename and the directory matches what we expect. 5817 """ 5818 5819 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5820 5821 def __init__(self, *args): 5822 r""" 5823 __init__(SBFileSpec self) -> SBFileSpec 5824 __init__(SBFileSpec self, SBFileSpec rhs) -> SBFileSpec 5825 __init__(SBFileSpec self, char const * path) -> SBFileSpec 5826 __init__(SBFileSpec self, char const * path, bool resolve) -> SBFileSpec 5827 """ 5828 _lldb.SBFileSpec_swiginit(self, _lldb.new_SBFileSpec(*args)) 5829 __swig_destroy__ = _lldb.delete_SBFileSpec 5830 5831 def __nonzero__(self): 5832 return _lldb.SBFileSpec___nonzero__(self) 5833 __bool__ = __nonzero__ 5834 5835 5836 5837 def __eq__(self, rhs): 5838 r"""__eq__(SBFileSpec self, SBFileSpec rhs) -> bool""" 5839 return _lldb.SBFileSpec___eq__(self, rhs) 5840 5841 def __ne__(self, rhs): 5842 r"""__ne__(SBFileSpec self, SBFileSpec rhs) -> bool""" 5843 return _lldb.SBFileSpec___ne__(self, rhs) 5844 5845 def IsValid(self): 5846 r"""IsValid(SBFileSpec self) -> bool""" 5847 return _lldb.SBFileSpec_IsValid(self) 5848 5849 def Exists(self): 5850 r"""Exists(SBFileSpec self) -> bool""" 5851 return _lldb.SBFileSpec_Exists(self) 5852 5853 def ResolveExecutableLocation(self): 5854 r"""ResolveExecutableLocation(SBFileSpec self) -> bool""" 5855 return _lldb.SBFileSpec_ResolveExecutableLocation(self) 5856 5857 def GetFilename(self): 5858 r"""GetFilename(SBFileSpec self) -> char const *""" 5859 return _lldb.SBFileSpec_GetFilename(self) 5860 5861 def GetDirectory(self): 5862 r"""GetDirectory(SBFileSpec self) -> char const *""" 5863 return _lldb.SBFileSpec_GetDirectory(self) 5864 5865 def SetFilename(self, filename): 5866 r"""SetFilename(SBFileSpec self, char const * filename)""" 5867 return _lldb.SBFileSpec_SetFilename(self, filename) 5868 5869 def SetDirectory(self, directory): 5870 r"""SetDirectory(SBFileSpec self, char const * directory)""" 5871 return _lldb.SBFileSpec_SetDirectory(self, directory) 5872 5873 def GetPath(self, dst_path, dst_len): 5874 r"""GetPath(SBFileSpec self, char * dst_path, size_t dst_len) -> uint32_t""" 5875 return _lldb.SBFileSpec_GetPath(self, dst_path, dst_len) 5876 5877 @staticmethod 5878 def ResolvePath(src_path, dst_path, dst_len): 5879 r"""ResolvePath(char const * src_path, char * dst_path, size_t dst_len) -> int""" 5880 return _lldb.SBFileSpec_ResolvePath(src_path, dst_path, dst_len) 5881 5882 def GetDescription(self, description): 5883 r"""GetDescription(SBFileSpec self, SBStream description) -> bool""" 5884 return _lldb.SBFileSpec_GetDescription(self, description) 5885 5886 def AppendPathComponent(self, file_or_directory): 5887 r"""AppendPathComponent(SBFileSpec self, char const * file_or_directory)""" 5888 return _lldb.SBFileSpec_AppendPathComponent(self, file_or_directory) 5889 5890 def __repr__(self): 5891 r"""__repr__(SBFileSpec self) -> std::string""" 5892 return _lldb.SBFileSpec___repr__(self) 5893 5894 # operator== is a free function, which swig does not handle, so we inject 5895 # our own equality operator here 5896 def __eq__(self, other): 5897 return not self.__ne__(other) 5898 5899 fullpath = property(str, None, doc='''A read only property that returns the fullpath as a python string.''') 5900 basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''') 5901 dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''') 5902 exists = property(Exists, None, doc='''A read only property that returns a boolean value that indicates if the file exists.''') 5903 5904 5905# Register SBFileSpec in _lldb: 5906_lldb.SBFileSpec_swigregister(SBFileSpec) 5907class SBFileSpecList(object): 5908 r"""Represents a list of :py:class:`SBFileSpec`.""" 5909 5910 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5911 5912 def __init__(self, *args): 5913 r""" 5914 __init__(SBFileSpecList self) -> SBFileSpecList 5915 __init__(SBFileSpecList self, SBFileSpecList rhs) -> SBFileSpecList 5916 """ 5917 _lldb.SBFileSpecList_swiginit(self, _lldb.new_SBFileSpecList(*args)) 5918 __swig_destroy__ = _lldb.delete_SBFileSpecList 5919 5920 def GetSize(self): 5921 r"""GetSize(SBFileSpecList self) -> uint32_t""" 5922 return _lldb.SBFileSpecList_GetSize(self) 5923 5924 def GetDescription(self, description): 5925 r"""GetDescription(SBFileSpecList self, SBStream description) -> bool""" 5926 return _lldb.SBFileSpecList_GetDescription(self, description) 5927 5928 def Append(self, sb_file): 5929 r"""Append(SBFileSpecList self, SBFileSpec sb_file)""" 5930 return _lldb.SBFileSpecList_Append(self, sb_file) 5931 5932 def AppendIfUnique(self, sb_file): 5933 r"""AppendIfUnique(SBFileSpecList self, SBFileSpec sb_file) -> bool""" 5934 return _lldb.SBFileSpecList_AppendIfUnique(self, sb_file) 5935 5936 def Clear(self): 5937 r"""Clear(SBFileSpecList self)""" 5938 return _lldb.SBFileSpecList_Clear(self) 5939 5940 def FindFileIndex(self, idx, sb_file, full): 5941 r"""FindFileIndex(SBFileSpecList self, uint32_t idx, SBFileSpec sb_file, bool full) -> uint32_t""" 5942 return _lldb.SBFileSpecList_FindFileIndex(self, idx, sb_file, full) 5943 5944 def GetFileSpecAtIndex(self, idx): 5945 r"""GetFileSpecAtIndex(SBFileSpecList self, uint32_t idx) -> SBFileSpec""" 5946 return _lldb.SBFileSpecList_GetFileSpecAtIndex(self, idx) 5947 5948 def __repr__(self): 5949 r"""__repr__(SBFileSpecList self) -> std::string""" 5950 return _lldb.SBFileSpecList___repr__(self) 5951 5952 def __len__(self): 5953 '''Return the number of FileSpec in a lldb.SBFileSpecList object.''' 5954 return self.GetSize() 5955 5956 def __iter__(self): 5957 '''Iterate over all FileSpecs in a lldb.SBFileSpecList object.''' 5958 return lldb_iter(self, 'GetSize', 'GetFileSpecAtIndex') 5959 5960 5961# Register SBFileSpecList in _lldb: 5962_lldb.SBFileSpecList_swigregister(SBFileSpecList) 5963class SBFormat(object): 5964 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.""" 5965 5966 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 5967 __repr__ = _swig_repr 5968 5969 def __init__(self, *args): 5970 r""" 5971 __init__(SBFormat self) -> SBFormat 5972 __init__(SBFormat self, char const * format, SBError error) -> SBFormat 5973 __init__(SBFormat self, SBFormat rhs) -> SBFormat 5974 """ 5975 _lldb.SBFormat_swiginit(self, _lldb.new_SBFormat(*args)) 5976 __swig_destroy__ = _lldb.delete_SBFormat 5977 5978 def __nonzero__(self): 5979 return _lldb.SBFormat___nonzero__(self) 5980 __bool__ = __nonzero__ 5981 5982 5983 5984# Register SBFormat in _lldb: 5985_lldb.SBFormat_swigregister(SBFormat) 5986class SBFrame(object): 5987 r""" 5988 Represents one of the stack frames associated with a thread. 5989 5990 SBThread contains SBFrame(s). For example (from test/lldbutil.py), :: 5991 5992 def print_stacktrace(thread, string_buffer = False): 5993 '''Prints a simple stack trace of this thread.''' 5994 5995 ... 5996 5997 for i in range(depth): 5998 frame = thread.GetFrameAtIndex(i) 5999 function = frame.GetFunction() 6000 6001 load_addr = addrs[i].GetLoadAddress(target) 6002 if not function: 6003 file_addr = addrs[i].GetFileAddress() 6004 start_addr = frame.GetSymbol().GetStartAddress().GetFileAddress() 6005 symbol_offset = file_addr - start_addr 6006 print >> output, ' frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format( 6007 num=i, addr=load_addr, mod=mods[i], symbol=symbols[i], offset=symbol_offset) 6008 else: 6009 print >> output, ' frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format( 6010 num=i, addr=load_addr, mod=mods[i], 6011 func='%s [inlined]' % funcs[i] if frame.IsInlined() else funcs[i], 6012 file=files[i], line=lines[i], 6013 args=get_args_as_string(frame, showFuncName=False) if not frame.IsInlined() else '()') 6014 6015 ... 6016 6017 And, :: 6018 6019 for frame in thread: 6020 print frame 6021 6022 See also SBThread. 6023 """ 6024 6025 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6026 6027 def __init__(self, *args): 6028 r""" 6029 __init__(SBFrame self) -> SBFrame 6030 __init__(SBFrame self, SBFrame rhs) -> SBFrame 6031 """ 6032 _lldb.SBFrame_swiginit(self, _lldb.new_SBFrame(*args)) 6033 __swig_destroy__ = _lldb.delete_SBFrame 6034 6035 def IsEqual(self, that): 6036 r"""IsEqual(SBFrame self, SBFrame that) -> bool""" 6037 return _lldb.SBFrame_IsEqual(self, that) 6038 6039 def __nonzero__(self): 6040 return _lldb.SBFrame___nonzero__(self) 6041 __bool__ = __nonzero__ 6042 6043 6044 6045 def IsValid(self): 6046 r"""IsValid(SBFrame self) -> bool""" 6047 return _lldb.SBFrame_IsValid(self) 6048 6049 def GetFrameID(self): 6050 r"""GetFrameID(SBFrame self) -> uint32_t""" 6051 return _lldb.SBFrame_GetFrameID(self) 6052 6053 def GetCFA(self): 6054 r""" 6055 GetCFA(SBFrame self) -> lldb::addr_t 6056 6057 Get the Canonical Frame Address for this stack frame. 6058 This is the DWARF standard's definition of a CFA, a stack address 6059 that remains constant throughout the lifetime of the function. 6060 Returns an lldb::addr_t stack address, or LLDB_INVALID_ADDRESS if 6061 the CFA cannot be determined. 6062 """ 6063 return _lldb.SBFrame_GetCFA(self) 6064 6065 def GetPC(self): 6066 r"""GetPC(SBFrame self) -> lldb::addr_t""" 6067 return _lldb.SBFrame_GetPC(self) 6068 6069 def SetPC(self, new_pc): 6070 r"""SetPC(SBFrame self, lldb::addr_t new_pc) -> bool""" 6071 return _lldb.SBFrame_SetPC(self, new_pc) 6072 6073 def GetSP(self): 6074 r"""GetSP(SBFrame self) -> lldb::addr_t""" 6075 return _lldb.SBFrame_GetSP(self) 6076 6077 def GetFP(self): 6078 r"""GetFP(SBFrame self) -> lldb::addr_t""" 6079 return _lldb.SBFrame_GetFP(self) 6080 6081 def GetPCAddress(self): 6082 r"""GetPCAddress(SBFrame self) -> SBAddress""" 6083 return _lldb.SBFrame_GetPCAddress(self) 6084 6085 def GetSymbolContext(self, resolve_scope): 6086 r"""GetSymbolContext(SBFrame self, uint32_t resolve_scope) -> SBSymbolContext""" 6087 return _lldb.SBFrame_GetSymbolContext(self, resolve_scope) 6088 6089 def GetModule(self): 6090 r"""GetModule(SBFrame self) -> SBModule""" 6091 return _lldb.SBFrame_GetModule(self) 6092 6093 def GetCompileUnit(self): 6094 r"""GetCompileUnit(SBFrame self) -> SBCompileUnit""" 6095 return _lldb.SBFrame_GetCompileUnit(self) 6096 6097 def GetFunction(self): 6098 r"""GetFunction(SBFrame self) -> SBFunction""" 6099 return _lldb.SBFrame_GetFunction(self) 6100 6101 def GetSymbol(self): 6102 r"""GetSymbol(SBFrame self) -> SBSymbol""" 6103 return _lldb.SBFrame_GetSymbol(self) 6104 6105 def GetBlock(self): 6106 r""" 6107 GetBlock(SBFrame self) -> SBBlock 6108 6109 Gets the deepest block that contains the frame PC. 6110 6111 See also GetFrameBlock(). 6112 """ 6113 return _lldb.SBFrame_GetBlock(self) 6114 6115 def GetDisplayFunctionName(self): 6116 r"""GetDisplayFunctionName(SBFrame self) -> char const *""" 6117 return _lldb.SBFrame_GetDisplayFunctionName(self) 6118 6119 def GetFunctionName(self, *args): 6120 r""" 6121 GetFunctionName(SBFrame self) -> char const 6122 GetFunctionName(SBFrame self) -> char const * 6123 6124 Get the appropriate function name for this frame. Inlined functions in 6125 LLDB are represented by Blocks that have inlined function information, so 6126 just looking at the SBFunction or SBSymbol for a frame isn't enough. 6127 This function will return the appropriate function, symbol or inlined 6128 function name for the frame. 6129 6130 This function returns: 6131 - the name of the inlined function (if there is one) 6132 - the name of the concrete function (if there is one) 6133 - the name of the symbol (if there is one) 6134 - NULL 6135 6136 See also IsInlined(). 6137 """ 6138 return _lldb.SBFrame_GetFunctionName(self, *args) 6139 6140 def GuessLanguage(self): 6141 r""" 6142 GuessLanguage(SBFrame self) -> lldb::LanguageType 6143 6144 Returns the language of the frame's SBFunction, or if there. 6145 is no SBFunction, guess the language from the mangled name. 6146 . 6147 """ 6148 return _lldb.SBFrame_GuessLanguage(self) 6149 6150 def IsInlined(self, *args): 6151 r""" 6152 IsInlined(SBFrame self) -> bool 6153 IsInlined(SBFrame self) -> bool 6154 6155 Return true if this frame represents an inlined function. 6156 6157 See also GetFunctionName(). 6158 """ 6159 return _lldb.SBFrame_IsInlined(self, *args) 6160 6161 def IsArtificial(self, *args): 6162 r""" 6163 IsArtificial(SBFrame self) -> bool 6164 IsArtificial(SBFrame self) -> bool 6165 6166 Return true if this frame is artificial (e.g a frame synthesized to 6167 capture a tail call). Local variables may not be available in an artificial 6168 frame. 6169 """ 6170 return _lldb.SBFrame_IsArtificial(self, *args) 6171 6172 def EvaluateExpression(self, *args): 6173 r""" 6174 EvaluateExpression(SBFrame self, char const * expr) -> SBValue 6175 EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic) -> SBValue 6176 EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error) -> SBValue 6177 EvaluateExpression(SBFrame self, char const * expr, SBExpressionOptions options) -> SBValue 6178 6179 The version that doesn't supply a 'use_dynamic' value will use the 6180 target's default. 6181 """ 6182 return _lldb.SBFrame_EvaluateExpression(self, *args) 6183 6184 def GetFrameBlock(self): 6185 r""" 6186 GetFrameBlock(SBFrame self) -> SBBlock 6187 6188 Gets the lexical block that defines the stack frame. Another way to think 6189 of this is it will return the block that contains all of the variables 6190 for a stack frame. Inlined functions are represented as SBBlock objects 6191 that have inlined function information: the name of the inlined function, 6192 where it was called from. The block that is returned will be the first 6193 block at or above the block for the PC (SBFrame::GetBlock()) that defines 6194 the scope of the frame. When a function contains no inlined functions, 6195 this will be the top most lexical block that defines the function. 6196 When a function has inlined functions and the PC is currently 6197 in one of those inlined functions, this method will return the inlined 6198 block that defines this frame. If the PC isn't currently in an inlined 6199 function, the lexical block that defines the function is returned. 6200 """ 6201 return _lldb.SBFrame_GetFrameBlock(self) 6202 6203 def GetLineEntry(self): 6204 r"""GetLineEntry(SBFrame self) -> SBLineEntry""" 6205 return _lldb.SBFrame_GetLineEntry(self) 6206 6207 def GetThread(self): 6208 r"""GetThread(SBFrame self) -> SBThread""" 6209 return _lldb.SBFrame_GetThread(self) 6210 6211 def Disassemble(self): 6212 r"""Disassemble(SBFrame self) -> char const *""" 6213 return _lldb.SBFrame_Disassemble(self) 6214 6215 def Clear(self): 6216 r"""Clear(SBFrame self)""" 6217 return _lldb.SBFrame_Clear(self) 6218 6219 def __eq__(self, rhs): 6220 r"""__eq__(SBFrame self, SBFrame rhs) -> bool""" 6221 return _lldb.SBFrame___eq__(self, rhs) 6222 6223 def __ne__(self, rhs): 6224 r"""__ne__(SBFrame self, SBFrame rhs) -> bool""" 6225 return _lldb.SBFrame___ne__(self, rhs) 6226 6227 def GetVariables(self, *args): 6228 r""" 6229 GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only) -> SBValueList 6230 GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only, lldb::DynamicValueType use_dynamic) -> SBValueList 6231 GetVariables(SBFrame self, SBVariablesOptions options) -> SBValueList 6232 6233 The version that doesn't supply a 'use_dynamic' value will use the 6234 target's default. 6235 """ 6236 return _lldb.SBFrame_GetVariables(self, *args) 6237 6238 def GetRegisters(self): 6239 r"""GetRegisters(SBFrame self) -> SBValueList""" 6240 return _lldb.SBFrame_GetRegisters(self) 6241 6242 def FindRegister(self, name): 6243 r"""FindRegister(SBFrame self, char const * name) -> SBValue""" 6244 return _lldb.SBFrame_FindRegister(self, name) 6245 6246 def FindVariable(self, *args): 6247 r""" 6248 FindVariable(SBFrame self, char const * var_name) -> SBValue 6249 FindVariable(SBFrame self, char const * var_name, lldb::DynamicValueType use_dynamic) -> SBValue 6250 6251 The version that doesn't supply a 'use_dynamic' value will use the 6252 target's default. 6253 """ 6254 return _lldb.SBFrame_FindVariable(self, *args) 6255 6256 def GetValueForVariablePath(self, *args): 6257 r""" 6258 GetValueForVariablePath(SBFrame self, char const * var_expr_cstr, lldb::DynamicValueType use_dynamic) -> SBValue 6259 GetValueForVariablePath(SBFrame self, char const * var_path) -> SBValue 6260 6261 Get a lldb.SBValue for a variable path. 6262 6263 Variable paths can include access to pointer or instance members: :: 6264 6265 rect_ptr->origin.y 6266 pt.x 6267 6268 Pointer dereferences: :: 6269 6270 *this->foo_ptr 6271 **argv 6272 6273 Address of: :: 6274 6275 &pt 6276 &my_array[3].x 6277 6278 Array accesses and treating pointers as arrays: :: 6279 6280 int_array[1] 6281 pt_ptr[22].x 6282 6283 Unlike `EvaluateExpression()` which returns :py:class:`SBValue` objects 6284 with constant copies of the values at the time of evaluation, 6285 the result of this function is a value that will continue to 6286 track the current value of the value as execution progresses 6287 in the current frame. 6288 """ 6289 return _lldb.SBFrame_GetValueForVariablePath(self, *args) 6290 6291 def FindValue(self, *args): 6292 r""" 6293 FindValue(SBFrame self, char const * name, lldb::ValueType value_type) -> SBValue 6294 FindValue(SBFrame self, char const * name, lldb::ValueType value_type, lldb::DynamicValueType use_dynamic) -> SBValue 6295 6296 Find variables, register sets, registers, or persistent variables using 6297 the frame as the scope. 6298 6299 The version that doesn't supply a ``use_dynamic`` value will use the 6300 target's default. 6301 """ 6302 return _lldb.SBFrame_FindValue(self, *args) 6303 6304 def GetDescription(self, description): 6305 r"""GetDescription(SBFrame self, SBStream description) -> bool""" 6306 return _lldb.SBFrame_GetDescription(self, description) 6307 6308 def GetDescriptionWithFormat(self, format, output): 6309 r"""GetDescriptionWithFormat(SBFrame self, SBFormat format, SBStream output) -> SBError""" 6310 return _lldb.SBFrame_GetDescriptionWithFormat(self, format, output) 6311 6312 def __repr__(self): 6313 r"""__repr__(SBFrame self) -> std::string""" 6314 return _lldb.SBFrame___repr__(self) 6315 6316 # operator== is a free function, which swig does not handle, so we inject 6317 # our own equality operator here 6318 def __eq__(self, other): 6319 return not self.__ne__(other) 6320 6321 def __int__(self): 6322 return self.GetFrameID() 6323 6324 def __hex__(self): 6325 return self.GetPC() 6326 6327 def get_all_variables(self): 6328 return self.GetVariables(True,True,True,True) 6329 6330 def get_parent_frame(self): 6331 parent_idx = self.idx + 1 6332 if parent_idx >= 0 and parent_idx < len(self.thread.frame): 6333 return self.thread.frame[parent_idx] 6334 else: 6335 return SBFrame() 6336 6337 def get_arguments(self): 6338 return self.GetVariables(True,False,False,False) 6339 6340 def get_locals(self): 6341 return self.GetVariables(False,True,False,False) 6342 6343 def get_statics(self): 6344 return self.GetVariables(False,False,True,False) 6345 6346 def var(self, var_expr_path): 6347 '''Calls through to lldb.SBFrame.GetValueForVariablePath() and returns 6348 a value that represents the variable expression path''' 6349 return self.GetValueForVariablePath(var_expr_path) 6350 6351 def get_registers_access(self): 6352 class registers_access(object): 6353 '''A helper object that exposes a flattened view of registers, masking away the notion of register sets for easy scripting.''' 6354 def __init__(self, regs): 6355 self.regs = regs 6356 6357 def __iter__(self): 6358 return self.get_registers() 6359 6360 def get_registers(self): 6361 for i in range(0,len(self.regs)): 6362 rs = self.regs[i] 6363 for j in range (0,rs.num_children): 6364 reg = rs.GetChildAtIndex(j) 6365 yield reg 6366 6367 def __getitem__(self, key): 6368 if type(key) is str: 6369 for i in range(0,len(self.regs)): 6370 rs = self.regs[i] 6371 for j in range (0,rs.num_children): 6372 reg = rs.GetChildAtIndex(j) 6373 if reg.name == key: return reg 6374 else: 6375 return SBValue() 6376 6377 return registers_access(self.registers) 6378 6379 pc = property(GetPC, SetPC) 6380 addr = property(GetPCAddress, None, doc='''A read only property that returns the program counter (PC) as a section offset address (lldb.SBAddress).''') 6381 fp = property(GetFP, None, doc='''A read only property that returns the frame pointer (FP) as an unsigned integer.''') 6382 sp = property(GetSP, None, doc='''A read only property that returns the stack pointer (SP) as an unsigned integer.''') 6383 module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) for this stack frame.''') 6384 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.''') 6385 function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) for this stack frame.''') 6386 symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) for this stack frame.''') 6387 block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) for this stack frame.''') 6388 is_inlined = property(IsInlined, None, doc='''A read only property that returns an boolean that indicates if the block frame is an inlined function.''') 6389 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).''') 6390 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.''') 6391 thread = property(GetThread, None, doc='''A read only property that returns an lldb object that represents the thread (lldb.SBThread) for this stack frame.''') 6392 disassembly = property(Disassemble, None, doc='''A read only property that returns the disassembly for this stack frame as a python string.''') 6393 idx = property(GetFrameID, None, doc='''A read only property that returns the zero based stack frame index.''') 6394 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.''') 6395 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.''') 6396 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.''') 6397 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.''') 6398 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.''') 6399 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.''') 6400 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.''') 6401 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.''') 6402 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.''') 6403 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''') 6404 parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''') 6405 6406 6407# Register SBFrame in _lldb: 6408_lldb.SBFrame_swigregister(SBFrame) 6409class SBFunction(object): 6410 r""" 6411 Represents a generic function, which can be inlined or not. 6412 6413 For example (from test/lldbutil.py, but slightly modified for doc purpose),:: 6414 6415 ... 6416 6417 frame = thread.GetFrameAtIndex(i) 6418 addr = frame.GetPCAddress() 6419 load_addr = addr.GetLoadAddress(target) 6420 function = frame.GetFunction() 6421 mod_name = frame.GetModule().GetFileSpec().GetFilename() 6422 6423 if not function: 6424 # No debug info for 'function'. 6425 symbol = frame.GetSymbol() 6426 file_addr = addr.GetFileAddress() 6427 start_addr = symbol.GetStartAddress().GetFileAddress() 6428 symbol_name = symbol.GetName() 6429 symbol_offset = file_addr - start_addr 6430 print >> output, ' frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format( 6431 num=i, addr=load_addr, mod=mod_name, symbol=symbol_name, offset=symbol_offset) 6432 else: 6433 # Debug info is available for 'function'. 6434 func_name = frame.GetFunctionName() 6435 file_name = frame.GetLineEntry().GetFileSpec().GetFilename() 6436 line_num = frame.GetLineEntry().GetLine() 6437 print >> output, ' frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format( 6438 num=i, addr=load_addr, mod=mod_name, 6439 func='%s [inlined]' % func_name] if frame.IsInlined() else func_name, 6440 file=file_name, line=line_num, args=get_args_as_string(frame, showFuncName=False)) 6441 6442 ... 6443 """ 6444 6445 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6446 6447 def __init__(self, *args): 6448 r""" 6449 __init__(SBFunction self) -> SBFunction 6450 __init__(SBFunction self, SBFunction rhs) -> SBFunction 6451 """ 6452 _lldb.SBFunction_swiginit(self, _lldb.new_SBFunction(*args)) 6453 __swig_destroy__ = _lldb.delete_SBFunction 6454 6455 def __nonzero__(self): 6456 return _lldb.SBFunction___nonzero__(self) 6457 __bool__ = __nonzero__ 6458 6459 6460 6461 def IsValid(self): 6462 r"""IsValid(SBFunction self) -> bool""" 6463 return _lldb.SBFunction_IsValid(self) 6464 6465 def GetName(self): 6466 r"""GetName(SBFunction self) -> char const *""" 6467 return _lldb.SBFunction_GetName(self) 6468 6469 def GetDisplayName(self): 6470 r"""GetDisplayName(SBFunction self) -> char const *""" 6471 return _lldb.SBFunction_GetDisplayName(self) 6472 6473 def GetMangledName(self): 6474 r"""GetMangledName(SBFunction self) -> char const *""" 6475 return _lldb.SBFunction_GetMangledName(self) 6476 6477 def GetInstructions(self, *args): 6478 r""" 6479 GetInstructions(SBFunction self, SBTarget target) -> SBInstructionList 6480 GetInstructions(SBFunction self, SBTarget target, char const * flavor) -> SBInstructionList 6481 """ 6482 return _lldb.SBFunction_GetInstructions(self, *args) 6483 6484 def GetStartAddress(self): 6485 r"""GetStartAddress(SBFunction self) -> SBAddress""" 6486 return _lldb.SBFunction_GetStartAddress(self) 6487 6488 def GetEndAddress(self): 6489 r"""GetEndAddress(SBFunction self) -> SBAddress""" 6490 return _lldb.SBFunction_GetEndAddress(self) 6491 6492 def GetArgumentName(self, arg_idx): 6493 r"""GetArgumentName(SBFunction self, uint32_t arg_idx) -> char const *""" 6494 return _lldb.SBFunction_GetArgumentName(self, arg_idx) 6495 6496 def GetPrologueByteSize(self): 6497 r"""GetPrologueByteSize(SBFunction self) -> uint32_t""" 6498 return _lldb.SBFunction_GetPrologueByteSize(self) 6499 6500 def GetType(self): 6501 r"""GetType(SBFunction self) -> SBType""" 6502 return _lldb.SBFunction_GetType(self) 6503 6504 def GetBlock(self): 6505 r"""GetBlock(SBFunction self) -> SBBlock""" 6506 return _lldb.SBFunction_GetBlock(self) 6507 6508 def GetLanguage(self): 6509 r"""GetLanguage(SBFunction self) -> lldb::LanguageType""" 6510 return _lldb.SBFunction_GetLanguage(self) 6511 6512 def GetIsOptimized(self): 6513 r""" 6514 GetIsOptimized(SBFunction self) -> bool 6515 6516 Returns true if the function was compiled with optimization. 6517 Optimization, in this case, is meant to indicate that the debugger 6518 experience may be confusing for the user -- variables optimized away, 6519 stepping jumping between source lines -- and the driver may want to 6520 provide some guidance to the user about this. 6521 Returns false if unoptimized, or unknown. 6522 """ 6523 return _lldb.SBFunction_GetIsOptimized(self) 6524 6525 def __eq__(self, rhs): 6526 r"""__eq__(SBFunction self, SBFunction rhs) -> bool""" 6527 return _lldb.SBFunction___eq__(self, rhs) 6528 6529 def __ne__(self, rhs): 6530 r"""__ne__(SBFunction self, SBFunction rhs) -> bool""" 6531 return _lldb.SBFunction___ne__(self, rhs) 6532 6533 def GetDescription(self, description): 6534 r"""GetDescription(SBFunction self, SBStream description) -> bool""" 6535 return _lldb.SBFunction_GetDescription(self, description) 6536 6537 def __repr__(self): 6538 r"""__repr__(SBFunction self) -> std::string""" 6539 return _lldb.SBFunction___repr__(self) 6540 6541 # operator== is a free function, which swig does not handle, so we inject 6542 # our own equality operator here 6543 def __eq__(self, other): 6544 return not self.__ne__(other) 6545 6546 def get_instructions_from_current_target (self): 6547 return self.GetInstructions (target) 6548 6549 addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.''') 6550 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.''') 6551 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.''') 6552 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.''') 6553 mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this function as a string.''') 6554 name = property(GetName, None, doc='''A read only property that returns the name for this function as a string.''') 6555 prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''') 6556 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.''') 6557 6558 6559 def __eq__(self, rhs): 6560 if not isinstance(rhs, type(self)): 6561 return False 6562 6563 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 6564 6565 def __ne__(self, rhs): 6566 if not isinstance(rhs, type(self)): 6567 return True 6568 6569 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 6570 6571 6572# Register SBFunction in _lldb: 6573_lldb.SBFunction_swigregister(SBFunction) 6574class SBHostOS(object): 6575 r"""Provides information about the host system.""" 6576 6577 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6578 __repr__ = _swig_repr 6579 6580 @staticmethod 6581 def GetProgramFileSpec(): 6582 r"""GetProgramFileSpec() -> SBFileSpec""" 6583 return _lldb.SBHostOS_GetProgramFileSpec() 6584 6585 @staticmethod 6586 def GetLLDBPythonPath(): 6587 r"""GetLLDBPythonPath() -> SBFileSpec""" 6588 return _lldb.SBHostOS_GetLLDBPythonPath() 6589 6590 @staticmethod 6591 def GetLLDBPath(path_type): 6592 r"""GetLLDBPath(lldb::PathType path_type) -> SBFileSpec""" 6593 return _lldb.SBHostOS_GetLLDBPath(path_type) 6594 6595 @staticmethod 6596 def GetUserHomeDirectory(): 6597 r"""GetUserHomeDirectory() -> SBFileSpec""" 6598 return _lldb.SBHostOS_GetUserHomeDirectory() 6599 6600 @staticmethod 6601 def ThreadCreated(name): 6602 r"""ThreadCreated(char const * name)""" 6603 return _lldb.SBHostOS_ThreadCreated(name) 6604 6605 @staticmethod 6606 def ThreadCreate(name, thread_function, thread_arg, err): 6607 r"""ThreadCreate(char const * name, lldb::thread_func_t thread_function, void * thread_arg, SBError err) -> lldb::thread_t""" 6608 return _lldb.SBHostOS_ThreadCreate(name, thread_function, thread_arg, err) 6609 6610 @staticmethod 6611 def ThreadCancel(thread, err): 6612 r"""ThreadCancel(lldb::thread_t thread, SBError err) -> bool""" 6613 return _lldb.SBHostOS_ThreadCancel(thread, err) 6614 6615 @staticmethod 6616 def ThreadDetach(thread, err): 6617 r"""ThreadDetach(lldb::thread_t thread, SBError err) -> bool""" 6618 return _lldb.SBHostOS_ThreadDetach(thread, err) 6619 6620 @staticmethod 6621 def ThreadJoin(thread, result, err): 6622 r"""ThreadJoin(lldb::thread_t thread, lldb::thread_result_t * result, SBError err) -> bool""" 6623 return _lldb.SBHostOS_ThreadJoin(thread, result, err) 6624 6625 def __init__(self): 6626 r"""__init__(SBHostOS self) -> SBHostOS""" 6627 _lldb.SBHostOS_swiginit(self, _lldb.new_SBHostOS()) 6628 __swig_destroy__ = _lldb.delete_SBHostOS 6629 6630# Register SBHostOS in _lldb: 6631_lldb.SBHostOS_swigregister(SBHostOS) 6632class SBInstruction(object): 6633 r"""Represents a (machine language) instruction.""" 6634 6635 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6636 6637 def __init__(self, *args): 6638 r""" 6639 __init__(SBInstruction self) -> SBInstruction 6640 __init__(SBInstruction self, SBInstruction rhs) -> SBInstruction 6641 """ 6642 _lldb.SBInstruction_swiginit(self, _lldb.new_SBInstruction(*args)) 6643 __swig_destroy__ = _lldb.delete_SBInstruction 6644 6645 def __nonzero__(self): 6646 return _lldb.SBInstruction___nonzero__(self) 6647 __bool__ = __nonzero__ 6648 6649 6650 6651 def IsValid(self): 6652 r"""IsValid(SBInstruction self) -> bool""" 6653 return _lldb.SBInstruction_IsValid(self) 6654 6655 def GetAddress(self): 6656 r"""GetAddress(SBInstruction self) -> SBAddress""" 6657 return _lldb.SBInstruction_GetAddress(self) 6658 6659 def GetMnemonic(self, target): 6660 r"""GetMnemonic(SBInstruction self, SBTarget target) -> char const *""" 6661 return _lldb.SBInstruction_GetMnemonic(self, target) 6662 6663 def GetOperands(self, target): 6664 r"""GetOperands(SBInstruction self, SBTarget target) -> char const *""" 6665 return _lldb.SBInstruction_GetOperands(self, target) 6666 6667 def GetComment(self, target): 6668 r"""GetComment(SBInstruction self, SBTarget target) -> char const *""" 6669 return _lldb.SBInstruction_GetComment(self, target) 6670 6671 def GetControlFlowKind(self, target): 6672 r"""GetControlFlowKind(SBInstruction self, SBTarget target) -> lldb::InstructionControlFlowKind""" 6673 return _lldb.SBInstruction_GetControlFlowKind(self, target) 6674 6675 def GetData(self, target): 6676 r"""GetData(SBInstruction self, SBTarget target) -> SBData""" 6677 return _lldb.SBInstruction_GetData(self, target) 6678 6679 def GetByteSize(self): 6680 r"""GetByteSize(SBInstruction self) -> size_t""" 6681 return _lldb.SBInstruction_GetByteSize(self) 6682 6683 def DoesBranch(self): 6684 r"""DoesBranch(SBInstruction self) -> bool""" 6685 return _lldb.SBInstruction_DoesBranch(self) 6686 6687 def HasDelaySlot(self): 6688 r"""HasDelaySlot(SBInstruction self) -> bool""" 6689 return _lldb.SBInstruction_HasDelaySlot(self) 6690 6691 def CanSetBreakpoint(self): 6692 r"""CanSetBreakpoint(SBInstruction self) -> bool""" 6693 return _lldb.SBInstruction_CanSetBreakpoint(self) 6694 6695 def Print(self, *args): 6696 r""" 6697 Print(SBInstruction self, SBFile out) 6698 Print(SBInstruction self, lldb::FileSP BORROWED) 6699 """ 6700 return _lldb.SBInstruction_Print(self, *args) 6701 6702 def GetDescription(self, description): 6703 r"""GetDescription(SBInstruction self, SBStream description) -> bool""" 6704 return _lldb.SBInstruction_GetDescription(self, description) 6705 6706 def EmulateWithFrame(self, frame, evaluate_options): 6707 r"""EmulateWithFrame(SBInstruction self, SBFrame frame, uint32_t evaluate_options) -> bool""" 6708 return _lldb.SBInstruction_EmulateWithFrame(self, frame, evaluate_options) 6709 6710 def DumpEmulation(self, triple): 6711 r"""DumpEmulation(SBInstruction self, char const * triple) -> bool""" 6712 return _lldb.SBInstruction_DumpEmulation(self, triple) 6713 6714 def TestEmulation(self, output_stream, test_file): 6715 r"""TestEmulation(SBInstruction self, SBStream output_stream, char const * test_file) -> bool""" 6716 return _lldb.SBInstruction_TestEmulation(self, output_stream, test_file) 6717 6718 def __repr__(self): 6719 r"""__repr__(SBInstruction self) -> std::string""" 6720 return _lldb.SBInstruction___repr__(self) 6721 6722 def __hex__(self): 6723 """ Returns the address of the instruction. """ 6724 return self.GetAddress() 6725 6726 def __len__(self): 6727 """ Returns the size of the instruction. """ 6728 return self.GetByteSize() 6729 6730 def __mnemonic_property__ (self): 6731 return self.GetMnemonic (target) 6732 def __operands_property__ (self): 6733 return self.GetOperands (target) 6734 def __comment_property__ (self): 6735 return self.GetComment (target) 6736 def __file_addr_property__ (self): 6737 return self.GetAddress ().GetFileAddress() 6738 def __load_adrr_property__ (self): 6739 return self.GetComment (target) 6740 6741 mnemonic = property(__mnemonic_property__, None, doc='''A read only property that returns the mnemonic for this instruction as a string.''') 6742 operands = property(__operands_property__, None, doc='''A read only property that returns the operands for this instruction as a string.''') 6743 comment = property(__comment_property__, None, doc='''A read only property that returns the comment for this instruction as a string.''') 6744 addr = property(GetAddress, None, doc='''A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.''') 6745 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes for this instruction as an integer.''') 6746 is_branch = property(DoesBranch, None, doc='''A read only property that returns a boolean value that indicates if this instruction is a branch instruction.''') 6747 6748 6749# Register SBInstruction in _lldb: 6750_lldb.SBInstruction_swigregister(SBInstruction) 6751class SBInstructionList(object): 6752 r""" 6753 Represents a list of machine instructions. SBFunction and SBSymbol have 6754 GetInstructions() methods which return SBInstructionList instances. 6755 6756 SBInstructionList supports instruction (:py:class:`SBInstruction` instance) iteration. 6757 For example (see also :py:class:`SBDebugger` for a more complete example), :: 6758 6759 def disassemble_instructions (insts): 6760 for i in insts: 6761 print i 6762 6763 defines a function which takes an SBInstructionList instance and prints out 6764 the machine instructions in assembly format. 6765 """ 6766 6767 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6768 6769 def __init__(self, *args): 6770 r""" 6771 __init__(SBInstructionList self) -> SBInstructionList 6772 __init__(SBInstructionList self, SBInstructionList rhs) -> SBInstructionList 6773 """ 6774 _lldb.SBInstructionList_swiginit(self, _lldb.new_SBInstructionList(*args)) 6775 __swig_destroy__ = _lldb.delete_SBInstructionList 6776 6777 def __nonzero__(self): 6778 return _lldb.SBInstructionList___nonzero__(self) 6779 __bool__ = __nonzero__ 6780 6781 6782 6783 def IsValid(self): 6784 r"""IsValid(SBInstructionList self) -> bool""" 6785 return _lldb.SBInstructionList_IsValid(self) 6786 6787 def GetSize(self): 6788 r"""GetSize(SBInstructionList self) -> size_t""" 6789 return _lldb.SBInstructionList_GetSize(self) 6790 6791 def GetInstructionAtIndex(self, idx): 6792 r"""GetInstructionAtIndex(SBInstructionList self, uint32_t idx) -> SBInstruction""" 6793 return _lldb.SBInstructionList_GetInstructionAtIndex(self, idx) 6794 6795 def GetInstructionsCount(self, start, end, canSetBreakpoint=False): 6796 r"""GetInstructionsCount(SBInstructionList self, SBAddress start, SBAddress end, bool canSetBreakpoint=False) -> size_t""" 6797 return _lldb.SBInstructionList_GetInstructionsCount(self, start, end, canSetBreakpoint) 6798 6799 def Clear(self): 6800 r"""Clear(SBInstructionList self)""" 6801 return _lldb.SBInstructionList_Clear(self) 6802 6803 def AppendInstruction(self, inst): 6804 r"""AppendInstruction(SBInstructionList self, SBInstruction inst)""" 6805 return _lldb.SBInstructionList_AppendInstruction(self, inst) 6806 6807 def Print(self, *args): 6808 r""" 6809 Print(SBInstructionList self, SBFile out) 6810 Print(SBInstructionList self, lldb::FileSP BORROWED) 6811 """ 6812 return _lldb.SBInstructionList_Print(self, *args) 6813 6814 def GetDescription(self, description): 6815 r"""GetDescription(SBInstructionList self, SBStream description) -> bool""" 6816 return _lldb.SBInstructionList_GetDescription(self, description) 6817 6818 def DumpEmulationForAllInstructions(self, triple): 6819 r"""DumpEmulationForAllInstructions(SBInstructionList self, char const * triple) -> bool""" 6820 return _lldb.SBInstructionList_DumpEmulationForAllInstructions(self, triple) 6821 6822 def __repr__(self): 6823 r"""__repr__(SBInstructionList self) -> std::string""" 6824 return _lldb.SBInstructionList___repr__(self) 6825 6826 def __iter__(self): 6827 '''Iterate over all instructions in a lldb.SBInstructionList 6828 object.''' 6829 return lldb_iter(self, 'GetSize', 'GetInstructionAtIndex') 6830 6831 def __len__(self): 6832 '''Access len of the instruction list.''' 6833 return int(self.GetSize()) 6834 6835 def __getitem__(self, key): 6836 '''Access instructions by integer index for array access or by lldb.SBAddress to find an instruction that matches a section offset address object.''' 6837 if type(key) is int: 6838 # Find an instruction by index 6839 count = len(self) 6840 if -count <= key < count: 6841 key %= count 6842 return self.GetInstructionAtIndex(key) 6843 elif type(key) is SBAddress: 6844 # Find an instruction using a lldb.SBAddress object 6845 lookup_file_addr = key.file_addr 6846 closest_inst = None 6847 for idx in range(self.GetSize()): 6848 inst = self.GetInstructionAtIndex(idx) 6849 inst_file_addr = inst.addr.file_addr 6850 if inst_file_addr == lookup_file_addr: 6851 return inst 6852 elif inst_file_addr > lookup_file_addr: 6853 return closest_inst 6854 else: 6855 closest_inst = inst 6856 return None 6857 6858 6859# Register SBInstructionList in _lldb: 6860_lldb.SBInstructionList_swigregister(SBInstructionList) 6861class SBLanguageRuntime(object): 6862 r"""Utility functions for :ref:`LanguageType`""" 6863 6864 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6865 __repr__ = _swig_repr 6866 6867 @staticmethod 6868 def GetLanguageTypeFromString(string): 6869 r"""GetLanguageTypeFromString(char const * string) -> lldb::LanguageType""" 6870 return _lldb.SBLanguageRuntime_GetLanguageTypeFromString(string) 6871 6872 @staticmethod 6873 def GetNameForLanguageType(language): 6874 r"""GetNameForLanguageType(lldb::LanguageType language) -> char const *""" 6875 return _lldb.SBLanguageRuntime_GetNameForLanguageType(language) 6876 6877 def __init__(self): 6878 r"""__init__(SBLanguageRuntime self) -> SBLanguageRuntime""" 6879 _lldb.SBLanguageRuntime_swiginit(self, _lldb.new_SBLanguageRuntime()) 6880 __swig_destroy__ = _lldb.delete_SBLanguageRuntime 6881 6882# Register SBLanguageRuntime in _lldb: 6883_lldb.SBLanguageRuntime_swigregister(SBLanguageRuntime) 6884class SBLaunchInfo(object): 6885 r"""Describes how a target or program should be launched.""" 6886 6887 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 6888 __repr__ = _swig_repr 6889 6890 def __init__(self, argv): 6891 r"""__init__(SBLaunchInfo self, char const ** argv) -> SBLaunchInfo""" 6892 _lldb.SBLaunchInfo_swiginit(self, _lldb.new_SBLaunchInfo(argv)) 6893 __swig_destroy__ = _lldb.delete_SBLaunchInfo 6894 6895 def GetProcessID(self): 6896 r"""GetProcessID(SBLaunchInfo self) -> lldb::pid_t""" 6897 return _lldb.SBLaunchInfo_GetProcessID(self) 6898 6899 def GetUserID(self): 6900 r"""GetUserID(SBLaunchInfo self) -> uint32_t""" 6901 return _lldb.SBLaunchInfo_GetUserID(self) 6902 6903 def GetGroupID(self): 6904 r"""GetGroupID(SBLaunchInfo self) -> uint32_t""" 6905 return _lldb.SBLaunchInfo_GetGroupID(self) 6906 6907 def UserIDIsValid(self): 6908 r"""UserIDIsValid(SBLaunchInfo self) -> bool""" 6909 return _lldb.SBLaunchInfo_UserIDIsValid(self) 6910 6911 def GroupIDIsValid(self): 6912 r"""GroupIDIsValid(SBLaunchInfo self) -> bool""" 6913 return _lldb.SBLaunchInfo_GroupIDIsValid(self) 6914 6915 def SetUserID(self, uid): 6916 r"""SetUserID(SBLaunchInfo self, uint32_t uid)""" 6917 return _lldb.SBLaunchInfo_SetUserID(self, uid) 6918 6919 def SetGroupID(self, gid): 6920 r"""SetGroupID(SBLaunchInfo self, uint32_t gid)""" 6921 return _lldb.SBLaunchInfo_SetGroupID(self, gid) 6922 6923 def GetExecutableFile(self): 6924 r"""GetExecutableFile(SBLaunchInfo self) -> SBFileSpec""" 6925 return _lldb.SBLaunchInfo_GetExecutableFile(self) 6926 6927 def SetExecutableFile(self, exe_file, add_as_first_arg): 6928 r"""SetExecutableFile(SBLaunchInfo self, SBFileSpec exe_file, bool add_as_first_arg)""" 6929 return _lldb.SBLaunchInfo_SetExecutableFile(self, exe_file, add_as_first_arg) 6930 6931 def GetListener(self): 6932 r"""GetListener(SBLaunchInfo self) -> SBListener""" 6933 return _lldb.SBLaunchInfo_GetListener(self) 6934 6935 def SetListener(self, listener): 6936 r"""SetListener(SBLaunchInfo self, SBListener listener)""" 6937 return _lldb.SBLaunchInfo_SetListener(self, listener) 6938 6939 def GetShadowListener(self): 6940 r"""GetShadowListener(SBLaunchInfo self) -> SBListener""" 6941 return _lldb.SBLaunchInfo_GetShadowListener(self) 6942 6943 def SetShadowListener(self, listener): 6944 r"""SetShadowListener(SBLaunchInfo self, SBListener listener)""" 6945 return _lldb.SBLaunchInfo_SetShadowListener(self, listener) 6946 6947 def GetNumArguments(self): 6948 r"""GetNumArguments(SBLaunchInfo self) -> uint32_t""" 6949 return _lldb.SBLaunchInfo_GetNumArguments(self) 6950 6951 def GetArgumentAtIndex(self, idx): 6952 r"""GetArgumentAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *""" 6953 return _lldb.SBLaunchInfo_GetArgumentAtIndex(self, idx) 6954 6955 def SetArguments(self, argv, append): 6956 r"""SetArguments(SBLaunchInfo self, char const ** argv, bool append)""" 6957 return _lldb.SBLaunchInfo_SetArguments(self, argv, append) 6958 6959 def GetNumEnvironmentEntries(self): 6960 r"""GetNumEnvironmentEntries(SBLaunchInfo self) -> uint32_t""" 6961 return _lldb.SBLaunchInfo_GetNumEnvironmentEntries(self) 6962 6963 def GetEnvironmentEntryAtIndex(self, idx): 6964 r"""GetEnvironmentEntryAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *""" 6965 return _lldb.SBLaunchInfo_GetEnvironmentEntryAtIndex(self, idx) 6966 6967 def SetEnvironmentEntries(self, envp, append): 6968 r"""SetEnvironmentEntries(SBLaunchInfo self, char const ** envp, bool append)""" 6969 return _lldb.SBLaunchInfo_SetEnvironmentEntries(self, envp, append) 6970 6971 def SetEnvironment(self, env, append): 6972 r"""SetEnvironment(SBLaunchInfo self, SBEnvironment env, bool append)""" 6973 return _lldb.SBLaunchInfo_SetEnvironment(self, env, append) 6974 6975 def GetEnvironment(self): 6976 r"""GetEnvironment(SBLaunchInfo self) -> SBEnvironment""" 6977 return _lldb.SBLaunchInfo_GetEnvironment(self) 6978 6979 def Clear(self): 6980 r"""Clear(SBLaunchInfo self)""" 6981 return _lldb.SBLaunchInfo_Clear(self) 6982 6983 def GetWorkingDirectory(self): 6984 r"""GetWorkingDirectory(SBLaunchInfo self) -> char const *""" 6985 return _lldb.SBLaunchInfo_GetWorkingDirectory(self) 6986 6987 def SetWorkingDirectory(self, working_dir): 6988 r"""SetWorkingDirectory(SBLaunchInfo self, char const * working_dir)""" 6989 return _lldb.SBLaunchInfo_SetWorkingDirectory(self, working_dir) 6990 6991 def GetLaunchFlags(self): 6992 r"""GetLaunchFlags(SBLaunchInfo self) -> uint32_t""" 6993 return _lldb.SBLaunchInfo_GetLaunchFlags(self) 6994 6995 def SetLaunchFlags(self, flags): 6996 r"""SetLaunchFlags(SBLaunchInfo self, uint32_t flags)""" 6997 return _lldb.SBLaunchInfo_SetLaunchFlags(self, flags) 6998 6999 def GetProcessPluginName(self): 7000 r"""GetProcessPluginName(SBLaunchInfo self) -> char const *""" 7001 return _lldb.SBLaunchInfo_GetProcessPluginName(self) 7002 7003 def SetProcessPluginName(self, plugin_name): 7004 r"""SetProcessPluginName(SBLaunchInfo self, char const * plugin_name)""" 7005 return _lldb.SBLaunchInfo_SetProcessPluginName(self, plugin_name) 7006 7007 def GetShell(self): 7008 r"""GetShell(SBLaunchInfo self) -> char const *""" 7009 return _lldb.SBLaunchInfo_GetShell(self) 7010 7011 def SetShell(self, path): 7012 r"""SetShell(SBLaunchInfo self, char const * path)""" 7013 return _lldb.SBLaunchInfo_SetShell(self, path) 7014 7015 def GetShellExpandArguments(self): 7016 r"""GetShellExpandArguments(SBLaunchInfo self) -> bool""" 7017 return _lldb.SBLaunchInfo_GetShellExpandArguments(self) 7018 7019 def SetShellExpandArguments(self, expand): 7020 r"""SetShellExpandArguments(SBLaunchInfo self, bool expand)""" 7021 return _lldb.SBLaunchInfo_SetShellExpandArguments(self, expand) 7022 7023 def GetResumeCount(self): 7024 r"""GetResumeCount(SBLaunchInfo self) -> uint32_t""" 7025 return _lldb.SBLaunchInfo_GetResumeCount(self) 7026 7027 def SetResumeCount(self, c): 7028 r"""SetResumeCount(SBLaunchInfo self, uint32_t c)""" 7029 return _lldb.SBLaunchInfo_SetResumeCount(self, c) 7030 7031 def AddCloseFileAction(self, fd): 7032 r"""AddCloseFileAction(SBLaunchInfo self, int fd) -> bool""" 7033 return _lldb.SBLaunchInfo_AddCloseFileAction(self, fd) 7034 7035 def AddDuplicateFileAction(self, fd, dup_fd): 7036 r"""AddDuplicateFileAction(SBLaunchInfo self, int fd, int dup_fd) -> bool""" 7037 return _lldb.SBLaunchInfo_AddDuplicateFileAction(self, fd, dup_fd) 7038 7039 def AddOpenFileAction(self, fd, path, read, write): 7040 r"""AddOpenFileAction(SBLaunchInfo self, int fd, char const * path, bool read, bool write) -> bool""" 7041 return _lldb.SBLaunchInfo_AddOpenFileAction(self, fd, path, read, write) 7042 7043 def AddSuppressFileAction(self, fd, read, write): 7044 r"""AddSuppressFileAction(SBLaunchInfo self, int fd, bool read, bool write) -> bool""" 7045 return _lldb.SBLaunchInfo_AddSuppressFileAction(self, fd, read, write) 7046 7047 def SetLaunchEventData(self, data): 7048 r"""SetLaunchEventData(SBLaunchInfo self, char const * data)""" 7049 return _lldb.SBLaunchInfo_SetLaunchEventData(self, data) 7050 7051 def GetLaunchEventData(self): 7052 r"""GetLaunchEventData(SBLaunchInfo self) -> char const *""" 7053 return _lldb.SBLaunchInfo_GetLaunchEventData(self) 7054 7055 def GetDetachOnError(self): 7056 r"""GetDetachOnError(SBLaunchInfo self) -> bool""" 7057 return _lldb.SBLaunchInfo_GetDetachOnError(self) 7058 7059 def SetDetachOnError(self, enable): 7060 r"""SetDetachOnError(SBLaunchInfo self, bool enable)""" 7061 return _lldb.SBLaunchInfo_SetDetachOnError(self, enable) 7062 7063 def GetScriptedProcessClassName(self): 7064 r"""GetScriptedProcessClassName(SBLaunchInfo self) -> char const *""" 7065 return _lldb.SBLaunchInfo_GetScriptedProcessClassName(self) 7066 7067 def SetScriptedProcessClassName(self, class_name): 7068 r"""SetScriptedProcessClassName(SBLaunchInfo self, char const * class_name)""" 7069 return _lldb.SBLaunchInfo_SetScriptedProcessClassName(self, class_name) 7070 7071 def GetScriptedProcessDictionary(self): 7072 r"""GetScriptedProcessDictionary(SBLaunchInfo self) -> SBStructuredData""" 7073 return _lldb.SBLaunchInfo_GetScriptedProcessDictionary(self) 7074 7075 def SetScriptedProcessDictionary(self, dict): 7076 r"""SetScriptedProcessDictionary(SBLaunchInfo self, SBStructuredData dict)""" 7077 return _lldb.SBLaunchInfo_SetScriptedProcessDictionary(self, dict) 7078 7079# Register SBLaunchInfo in _lldb: 7080_lldb.SBLaunchInfo_swigregister(SBLaunchInfo) 7081class SBLineEntry(object): 7082 r""" 7083 Specifies an association with a contiguous range of instructions and 7084 a source file location. 7085 7086 :py:class:`SBCompileUnit` contains SBLineEntry(s). For example, :: 7087 7088 for lineEntry in compileUnit: 7089 print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()), 7090 lineEntry.GetLine())) 7091 print('start addr: %s' % str(lineEntry.GetStartAddress())) 7092 print('end addr: %s' % str(lineEntry.GetEndAddress())) 7093 7094 produces: :: 7095 7096 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20 7097 start addr: a.out[0x100000d98] 7098 end addr: a.out[0x100000da3] 7099 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21 7100 start addr: a.out[0x100000da3] 7101 end addr: a.out[0x100000da9] 7102 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22 7103 start addr: a.out[0x100000da9] 7104 end addr: a.out[0x100000db6] 7105 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23 7106 start addr: a.out[0x100000db6] 7107 end addr: a.out[0x100000dbc] 7108 ... 7109 7110 See also :py:class:`SBCompileUnit` . 7111 """ 7112 7113 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7114 7115 def __init__(self, *args): 7116 r""" 7117 __init__(SBLineEntry self) -> SBLineEntry 7118 __init__(SBLineEntry self, SBLineEntry rhs) -> SBLineEntry 7119 """ 7120 _lldb.SBLineEntry_swiginit(self, _lldb.new_SBLineEntry(*args)) 7121 __swig_destroy__ = _lldb.delete_SBLineEntry 7122 7123 def GetStartAddress(self): 7124 r"""GetStartAddress(SBLineEntry self) -> SBAddress""" 7125 return _lldb.SBLineEntry_GetStartAddress(self) 7126 7127 def GetEndAddress(self): 7128 r"""GetEndAddress(SBLineEntry self) -> SBAddress""" 7129 return _lldb.SBLineEntry_GetEndAddress(self) 7130 7131 def GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions): 7132 r"""GetSameLineContiguousAddressRangeEnd(SBLineEntry self, bool include_inlined_functions) -> SBAddress""" 7133 return _lldb.SBLineEntry_GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions) 7134 7135 def __nonzero__(self): 7136 return _lldb.SBLineEntry___nonzero__(self) 7137 __bool__ = __nonzero__ 7138 7139 7140 7141 def IsValid(self): 7142 r"""IsValid(SBLineEntry self) -> bool""" 7143 return _lldb.SBLineEntry_IsValid(self) 7144 7145 def GetFileSpec(self): 7146 r"""GetFileSpec(SBLineEntry self) -> SBFileSpec""" 7147 return _lldb.SBLineEntry_GetFileSpec(self) 7148 7149 def GetLine(self): 7150 r"""GetLine(SBLineEntry self) -> uint32_t""" 7151 return _lldb.SBLineEntry_GetLine(self) 7152 7153 def GetColumn(self): 7154 r"""GetColumn(SBLineEntry self) -> uint32_t""" 7155 return _lldb.SBLineEntry_GetColumn(self) 7156 7157 def SetFileSpec(self, filespec): 7158 r"""SetFileSpec(SBLineEntry self, SBFileSpec filespec)""" 7159 return _lldb.SBLineEntry_SetFileSpec(self, filespec) 7160 7161 def SetLine(self, line): 7162 r"""SetLine(SBLineEntry self, uint32_t line)""" 7163 return _lldb.SBLineEntry_SetLine(self, line) 7164 7165 def SetColumn(self, column): 7166 r"""SetColumn(SBLineEntry self, uint32_t column)""" 7167 return _lldb.SBLineEntry_SetColumn(self, column) 7168 7169 def __eq__(self, rhs): 7170 r"""__eq__(SBLineEntry self, SBLineEntry rhs) -> bool""" 7171 return _lldb.SBLineEntry___eq__(self, rhs) 7172 7173 def __ne__(self, rhs): 7174 r"""__ne__(SBLineEntry self, SBLineEntry rhs) -> bool""" 7175 return _lldb.SBLineEntry___ne__(self, rhs) 7176 7177 def GetDescription(self, description): 7178 r"""GetDescription(SBLineEntry self, SBStream description) -> bool""" 7179 return _lldb.SBLineEntry_GetDescription(self, description) 7180 7181 def __repr__(self): 7182 r"""__repr__(SBLineEntry self) -> std::string""" 7183 return _lldb.SBLineEntry___repr__(self) 7184 7185 # operator== is a free function, which swig does not handle, so we inject 7186 # our own equality operator here 7187 def __eq__(self, other): 7188 return not self.__ne__(other) 7189 7190 def __int__(self): 7191 return self.GetLine() 7192 7193 def __hex__(self): 7194 return self.GetStartAddress() 7195 file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''') 7196 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.''') 7197 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.''') 7198 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.''') 7199 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.''') 7200 7201 7202 def __eq__(self, rhs): 7203 if not isinstance(rhs, type(self)): 7204 return False 7205 7206 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 7207 7208 def __ne__(self, rhs): 7209 if not isinstance(rhs, type(self)): 7210 return True 7211 7212 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 7213 7214 7215# Register SBLineEntry in _lldb: 7216_lldb.SBLineEntry_swigregister(SBLineEntry) 7217class SBListener(object): 7218 r""" 7219 API clients can register its own listener to debugger events. 7220 7221 See also :py:class:`SBEvent` for example usage of creating and adding a listener. 7222 """ 7223 7224 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7225 __repr__ = _swig_repr 7226 7227 def __init__(self, *args): 7228 r""" 7229 __init__(SBListener self) -> SBListener 7230 __init__(SBListener self, char const * name) -> SBListener 7231 __init__(SBListener self, SBListener rhs) -> SBListener 7232 """ 7233 _lldb.SBListener_swiginit(self, _lldb.new_SBListener(*args)) 7234 __swig_destroy__ = _lldb.delete_SBListener 7235 7236 def AddEvent(self, event): 7237 r"""AddEvent(SBListener self, SBEvent event)""" 7238 return _lldb.SBListener_AddEvent(self, event) 7239 7240 def Clear(self): 7241 r"""Clear(SBListener self)""" 7242 return _lldb.SBListener_Clear(self) 7243 7244 def __nonzero__(self): 7245 return _lldb.SBListener___nonzero__(self) 7246 __bool__ = __nonzero__ 7247 7248 7249 7250 def IsValid(self): 7251 r"""IsValid(SBListener self) -> bool""" 7252 return _lldb.SBListener_IsValid(self) 7253 7254 def StartListeningForEventClass(self, debugger, broadcaster_class, event_mask): 7255 r"""StartListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> uint32_t""" 7256 return _lldb.SBListener_StartListeningForEventClass(self, debugger, broadcaster_class, event_mask) 7257 7258 def StopListeningForEventClass(self, debugger, broadcaster_class, event_mask): 7259 r"""StopListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> bool""" 7260 return _lldb.SBListener_StopListeningForEventClass(self, debugger, broadcaster_class, event_mask) 7261 7262 def StartListeningForEvents(self, broadcaster, event_mask): 7263 r"""StartListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> uint32_t""" 7264 return _lldb.SBListener_StartListeningForEvents(self, broadcaster, event_mask) 7265 7266 def StopListeningForEvents(self, broadcaster, event_mask): 7267 r"""StopListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> bool""" 7268 return _lldb.SBListener_StopListeningForEvents(self, broadcaster, event_mask) 7269 7270 def WaitForEvent(self, num_seconds, event): 7271 r"""WaitForEvent(SBListener self, uint32_t num_seconds, SBEvent event) -> bool""" 7272 return _lldb.SBListener_WaitForEvent(self, num_seconds, event) 7273 7274 def WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event): 7275 r"""WaitForEventForBroadcaster(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7276 return _lldb.SBListener_WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event) 7277 7278 def WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event): 7279 r"""WaitForEventForBroadcasterWithType(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7280 return _lldb.SBListener_WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event) 7281 7282 def PeekAtNextEvent(self, sb_event): 7283 r"""PeekAtNextEvent(SBListener self, SBEvent sb_event) -> bool""" 7284 return _lldb.SBListener_PeekAtNextEvent(self, sb_event) 7285 7286 def PeekAtNextEventForBroadcaster(self, broadcaster, sb_event): 7287 r"""PeekAtNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7288 return _lldb.SBListener_PeekAtNextEventForBroadcaster(self, broadcaster, sb_event) 7289 7290 def PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event): 7291 r"""PeekAtNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7292 return _lldb.SBListener_PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event) 7293 7294 def GetNextEvent(self, sb_event): 7295 r"""GetNextEvent(SBListener self, SBEvent sb_event) -> bool""" 7296 return _lldb.SBListener_GetNextEvent(self, sb_event) 7297 7298 def GetNextEventForBroadcaster(self, broadcaster, sb_event): 7299 r"""GetNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool""" 7300 return _lldb.SBListener_GetNextEventForBroadcaster(self, broadcaster, sb_event) 7301 7302 def GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event): 7303 r"""GetNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool""" 7304 return _lldb.SBListener_GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event) 7305 7306 def HandleBroadcastEvent(self, event): 7307 r"""HandleBroadcastEvent(SBListener self, SBEvent event) -> bool""" 7308 return _lldb.SBListener_HandleBroadcastEvent(self, event) 7309 7310# Register SBListener in _lldb: 7311_lldb.SBListener_swigregister(SBListener) 7312class SBMemoryRegionInfo(object): 7313 r"""API clients can get information about memory regions in processes.""" 7314 7315 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7316 7317 def __init__(self, *args): 7318 r""" 7319 __init__(SBMemoryRegionInfo self) -> SBMemoryRegionInfo 7320 __init__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> SBMemoryRegionInfo 7321 __init__(SBMemoryRegionInfo self, char const * name, lldb::addr_t begin, lldb::addr_t end, uint32_t permissions, bool mapped, bool stack_memory=False) -> SBMemoryRegionInfo 7322 """ 7323 _lldb.SBMemoryRegionInfo_swiginit(self, _lldb.new_SBMemoryRegionInfo(*args)) 7324 __swig_destroy__ = _lldb.delete_SBMemoryRegionInfo 7325 7326 def Clear(self): 7327 r"""Clear(SBMemoryRegionInfo self)""" 7328 return _lldb.SBMemoryRegionInfo_Clear(self) 7329 7330 def GetRegionBase(self): 7331 r"""GetRegionBase(SBMemoryRegionInfo self) -> lldb::addr_t""" 7332 return _lldb.SBMemoryRegionInfo_GetRegionBase(self) 7333 7334 def GetRegionEnd(self): 7335 r"""GetRegionEnd(SBMemoryRegionInfo self) -> lldb::addr_t""" 7336 return _lldb.SBMemoryRegionInfo_GetRegionEnd(self) 7337 7338 def IsReadable(self): 7339 r"""IsReadable(SBMemoryRegionInfo self) -> bool""" 7340 return _lldb.SBMemoryRegionInfo_IsReadable(self) 7341 7342 def IsWritable(self): 7343 r"""IsWritable(SBMemoryRegionInfo self) -> bool""" 7344 return _lldb.SBMemoryRegionInfo_IsWritable(self) 7345 7346 def IsExecutable(self): 7347 r"""IsExecutable(SBMemoryRegionInfo self) -> bool""" 7348 return _lldb.SBMemoryRegionInfo_IsExecutable(self) 7349 7350 def IsMapped(self): 7351 r"""IsMapped(SBMemoryRegionInfo self) -> bool""" 7352 return _lldb.SBMemoryRegionInfo_IsMapped(self) 7353 7354 def GetName(self): 7355 r"""GetName(SBMemoryRegionInfo self) -> char const *""" 7356 return _lldb.SBMemoryRegionInfo_GetName(self) 7357 7358 def HasDirtyMemoryPageList(self): 7359 r""" 7360 HasDirtyMemoryPageList(SBMemoryRegionInfo self) -> bool 7361 7362 Returns whether this memory region has a list of modified (dirty) 7363 pages available or not. When calling GetNumDirtyPages(), you will 7364 have 0 returned for both "dirty page list is not known" and 7365 "empty dirty page list" (that is, no modified pages in this 7366 memory region). You must use this method to disambiguate. 7367 """ 7368 return _lldb.SBMemoryRegionInfo_HasDirtyMemoryPageList(self) 7369 7370 def GetNumDirtyPages(self): 7371 r""" 7372 GetNumDirtyPages(SBMemoryRegionInfo self) -> uint32_t 7373 7374 Return the number of dirty (modified) memory pages in this 7375 memory region, if available. You must use the 7376 SBMemoryRegionInfo::HasDirtyMemoryPageList() method to 7377 determine if a dirty memory list is available; it will depend 7378 on the target system can provide this information. 7379 """ 7380 return _lldb.SBMemoryRegionInfo_GetNumDirtyPages(self) 7381 7382 def GetDirtyPageAddressAtIndex(self, idx): 7383 r""" 7384 GetDirtyPageAddressAtIndex(SBMemoryRegionInfo self, uint32_t idx) -> lldb::addr_t 7385 7386 Return the address of a modified, or dirty, page of memory. 7387 If the provided index is out of range, or this memory region 7388 does not have dirty page information, LLDB_INVALID_ADDRESS 7389 is returned. 7390 """ 7391 return _lldb.SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(self, idx) 7392 7393 def GetPageSize(self): 7394 r""" 7395 GetPageSize(SBMemoryRegionInfo self) -> int 7396 7397 Return the size of pages in this memory region. 0 will be returned 7398 if this information was unavailable. 7399 """ 7400 return _lldb.SBMemoryRegionInfo_GetPageSize(self) 7401 7402 def __eq__(self, rhs): 7403 r"""__eq__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool""" 7404 return _lldb.SBMemoryRegionInfo___eq__(self, rhs) 7405 7406 def __ne__(self, rhs): 7407 r"""__ne__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool""" 7408 return _lldb.SBMemoryRegionInfo___ne__(self, rhs) 7409 7410 def GetDescription(self, description): 7411 r"""GetDescription(SBMemoryRegionInfo self, SBStream description) -> bool""" 7412 return _lldb.SBMemoryRegionInfo_GetDescription(self, description) 7413 7414 def __repr__(self): 7415 r"""__repr__(SBMemoryRegionInfo self) -> std::string""" 7416 return _lldb.SBMemoryRegionInfo___repr__(self) 7417 7418 # operator== is a free function, which swig does not handle, so we inject 7419 # our own equality operator here 7420 def __eq__(self, other): 7421 return not self.__ne__(other) 7422 7423 def __hex__(self): 7424 return self.GetRegionBase() 7425 7426 def __len__(self): 7427 return self.GetRegionEnd() - self.GetRegionBase() 7428 7429 7430# Register SBMemoryRegionInfo in _lldb: 7431_lldb.SBMemoryRegionInfo_swigregister(SBMemoryRegionInfo) 7432class SBMemoryRegionInfoList(object): 7433 r"""Represents a list of :py:class:`SBMemoryRegionInfo`.""" 7434 7435 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7436 __repr__ = _swig_repr 7437 7438 def __init__(self, *args): 7439 r""" 7440 __init__(SBMemoryRegionInfoList self) -> SBMemoryRegionInfoList 7441 __init__(SBMemoryRegionInfoList self, SBMemoryRegionInfoList rhs) -> SBMemoryRegionInfoList 7442 """ 7443 _lldb.SBMemoryRegionInfoList_swiginit(self, _lldb.new_SBMemoryRegionInfoList(*args)) 7444 __swig_destroy__ = _lldb.delete_SBMemoryRegionInfoList 7445 7446 def GetSize(self): 7447 r"""GetSize(SBMemoryRegionInfoList self) -> uint32_t""" 7448 return _lldb.SBMemoryRegionInfoList_GetSize(self) 7449 7450 def GetMemoryRegionContainingAddress(self, addr, region_info): 7451 r"""GetMemoryRegionContainingAddress(SBMemoryRegionInfoList self, lldb::addr_t addr, SBMemoryRegionInfo region_info) -> bool""" 7452 return _lldb.SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(self, addr, region_info) 7453 7454 def GetMemoryRegionAtIndex(self, idx, region_info): 7455 r"""GetMemoryRegionAtIndex(SBMemoryRegionInfoList self, uint32_t idx, SBMemoryRegionInfo region_info) -> bool""" 7456 return _lldb.SBMemoryRegionInfoList_GetMemoryRegionAtIndex(self, idx, region_info) 7457 7458 def Append(self, *args): 7459 r""" 7460 Append(SBMemoryRegionInfoList self, SBMemoryRegionInfo region) 7461 Append(SBMemoryRegionInfoList self, SBMemoryRegionInfoList region_list) 7462 """ 7463 return _lldb.SBMemoryRegionInfoList_Append(self, *args) 7464 7465 def Clear(self): 7466 r"""Clear(SBMemoryRegionInfoList self)""" 7467 return _lldb.SBMemoryRegionInfoList_Clear(self) 7468 7469 def __len__(self): 7470 '''Return the number of memory region info in a lldb.SBMemoryRegionInfoList object.''' 7471 return self.GetSize() 7472 7473 def __iter__(self): 7474 '''Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.''' 7475 return lldb_iter(self, 'GetSize', 'GetMemoryRegionAtIndex') 7476 7477 7478# Register SBMemoryRegionInfoList in _lldb: 7479_lldb.SBMemoryRegionInfoList_swigregister(SBMemoryRegionInfoList) 7480class SBModule(object): 7481 r""" 7482 Represents an executable image and its associated object and symbol files. 7483 7484 The module is designed to be able to select a single slice of an 7485 executable image as it would appear on disk and during program 7486 execution. 7487 7488 You can retrieve SBModule from :py:class:`SBSymbolContext` , which in turn is available 7489 from SBFrame. 7490 7491 SBModule supports symbol iteration, for example, :: 7492 7493 for symbol in module: 7494 name = symbol.GetName() 7495 saddr = symbol.GetStartAddress() 7496 eaddr = symbol.GetEndAddress() 7497 7498 and rich comparison methods which allow the API program to use, :: 7499 7500 if thisModule == thatModule: 7501 print('This module is the same as that module') 7502 7503 to test module equality. A module also contains object file sections, namely 7504 :py:class:`SBSection` . SBModule supports section iteration through section_iter(), for 7505 example, :: 7506 7507 print('Number of sections: %d' % module.GetNumSections()) 7508 for sec in module.section_iter(): 7509 print(sec) 7510 7511 And to iterate the symbols within a SBSection, use symbol_in_section_iter(), :: 7512 7513 # Iterates the text section and prints each symbols within each sub-section. 7514 for subsec in text_sec: 7515 print(INDENT + repr(subsec)) 7516 for sym in exe_module.symbol_in_section_iter(subsec): 7517 print(INDENT2 + repr(sym)) 7518 print(INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType())) 7519 7520 produces this following output: :: 7521 7522 [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text 7523 id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870) 7524 symbol type: code 7525 id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0) 7526 symbol type: code 7527 id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c) 7528 symbol type: code 7529 id = {0x00000023}, name = 'start', address = 0x0000000100001780 7530 symbol type: code 7531 [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs 7532 id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62) 7533 symbol type: trampoline 7534 id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68) 7535 symbol type: trampoline 7536 id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e) 7537 symbol type: trampoline 7538 id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74) 7539 symbol type: trampoline 7540 id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a) 7541 symbol type: trampoline 7542 id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80) 7543 symbol type: trampoline 7544 id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86) 7545 symbol type: trampoline 7546 id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c) 7547 symbol type: trampoline 7548 id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92) 7549 symbol type: trampoline 7550 id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98) 7551 symbol type: trampoline 7552 id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e) 7553 symbol type: trampoline 7554 id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4) 7555 symbol type: trampoline 7556 [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper 7557 [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring 7558 [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info 7559 [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame 7560 7561 """ 7562 7563 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 7564 7565 def __init__(self, *args): 7566 r""" 7567 __init__(SBModule self) -> SBModule 7568 __init__(SBModule self, SBModule rhs) -> SBModule 7569 __init__(SBModule self, SBModuleSpec module_spec) -> SBModule 7570 __init__(SBModule self, SBProcess process, lldb::addr_t header_addr) -> SBModule 7571 """ 7572 _lldb.SBModule_swiginit(self, _lldb.new_SBModule(*args)) 7573 __swig_destroy__ = _lldb.delete_SBModule 7574 7575 def __nonzero__(self): 7576 return _lldb.SBModule___nonzero__(self) 7577 __bool__ = __nonzero__ 7578 7579 7580 7581 def IsValid(self): 7582 r"""IsValid(SBModule self) -> bool""" 7583 return _lldb.SBModule_IsValid(self) 7584 7585 def Clear(self): 7586 r"""Clear(SBModule self)""" 7587 return _lldb.SBModule_Clear(self) 7588 7589 def IsFileBacked(self): 7590 r""" 7591 IsFileBacked(SBModule self) -> bool 7592 7593 Check if the module is file backed. 7594 7595 @return 7596 7597 True, if the module is backed by an object file on disk. 7598 False, if the module is backed by an object file in memory. 7599 """ 7600 return _lldb.SBModule_IsFileBacked(self) 7601 7602 def GetFileSpec(self): 7603 r""" 7604 GetFileSpec(SBModule self) -> SBFileSpec 7605 7606 Get const accessor for the module file specification. 7607 7608 This function returns the file for the module on the host system 7609 that is running LLDB. This can differ from the path on the 7610 platform since we might be doing remote debugging. 7611 7612 @return 7613 A const reference to the file specification object. 7614 """ 7615 return _lldb.SBModule_GetFileSpec(self) 7616 7617 def GetPlatformFileSpec(self): 7618 r""" 7619 GetPlatformFileSpec(SBModule self) -> SBFileSpec 7620 7621 Get accessor for the module platform file specification. 7622 7623 Platform file refers to the path of the module as it is known on 7624 the remote system on which it is being debugged. For local 7625 debugging this is always the same as Module::GetFileSpec(). But 7626 remote debugging might mention a file '/usr/lib/liba.dylib' 7627 which might be locally downloaded and cached. In this case the 7628 platform file could be something like: 7629 '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 7630 The file could also be cached in a local developer kit directory. 7631 7632 @return 7633 A const reference to the file specification object. 7634 """ 7635 return _lldb.SBModule_GetPlatformFileSpec(self) 7636 7637 def SetPlatformFileSpec(self, platform_file): 7638 r"""SetPlatformFileSpec(SBModule self, SBFileSpec platform_file) -> bool""" 7639 return _lldb.SBModule_SetPlatformFileSpec(self, platform_file) 7640 7641 def GetRemoteInstallFileSpec(self): 7642 r"""GetRemoteInstallFileSpec(SBModule self) -> SBFileSpec""" 7643 return _lldb.SBModule_GetRemoteInstallFileSpec(self) 7644 7645 def SetRemoteInstallFileSpec(self, file): 7646 r"""SetRemoteInstallFileSpec(SBModule self, SBFileSpec file) -> bool""" 7647 return _lldb.SBModule_SetRemoteInstallFileSpec(self, file) 7648 7649 def GetByteOrder(self): 7650 r"""GetByteOrder(SBModule self) -> lldb::ByteOrder""" 7651 return _lldb.SBModule_GetByteOrder(self) 7652 7653 def GetAddressByteSize(self): 7654 r"""GetAddressByteSize(SBModule self) -> uint32_t""" 7655 return _lldb.SBModule_GetAddressByteSize(self) 7656 7657 def GetTriple(self): 7658 r"""GetTriple(SBModule self) -> char const *""" 7659 return _lldb.SBModule_GetTriple(self) 7660 7661 def GetUUIDBytes(self): 7662 r"""GetUUIDBytes(SBModule self) -> uint8_t const *""" 7663 return _lldb.SBModule_GetUUIDBytes(self) 7664 7665 def GetUUIDString(self): 7666 r""" 7667 GetUUIDString(SBModule self) -> char const * 7668 Returns the UUID of the module as a Python string. 7669 """ 7670 return _lldb.SBModule_GetUUIDString(self) 7671 7672 def __eq__(self, rhs): 7673 r"""__eq__(SBModule self, SBModule rhs) -> bool""" 7674 return _lldb.SBModule___eq__(self, rhs) 7675 7676 def __ne__(self, rhs): 7677 r"""__ne__(SBModule self, SBModule rhs) -> bool""" 7678 return _lldb.SBModule___ne__(self, rhs) 7679 7680 def FindSection(self, sect_name): 7681 r"""FindSection(SBModule self, char const * sect_name) -> SBSection""" 7682 return _lldb.SBModule_FindSection(self, sect_name) 7683 7684 def ResolveFileAddress(self, vm_addr): 7685 r"""ResolveFileAddress(SBModule self, lldb::addr_t vm_addr) -> SBAddress""" 7686 return _lldb.SBModule_ResolveFileAddress(self, vm_addr) 7687 7688 def ResolveSymbolContextForAddress(self, addr, resolve_scope): 7689 r"""ResolveSymbolContextForAddress(SBModule self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext""" 7690 return _lldb.SBModule_ResolveSymbolContextForAddress(self, addr, resolve_scope) 7691 7692 def GetDescription(self, description): 7693 r"""GetDescription(SBModule self, SBStream description) -> bool""" 7694 return _lldb.SBModule_GetDescription(self, description) 7695 7696 def GetNumCompileUnits(self): 7697 r"""GetNumCompileUnits(SBModule self) -> uint32_t""" 7698 return _lldb.SBModule_GetNumCompileUnits(self) 7699 7700 def GetCompileUnitAtIndex(self, arg2): 7701 r"""GetCompileUnitAtIndex(SBModule self, uint32_t arg2) -> SBCompileUnit""" 7702 return _lldb.SBModule_GetCompileUnitAtIndex(self, arg2) 7703 7704 def FindCompileUnits(self, sb_file_spec): 7705 r""" 7706 FindCompileUnits(SBModule self, SBFileSpec sb_file_spec) -> SBSymbolContextList 7707 7708 Find compile units related to this module and passed source 7709 file. 7710 7711 @param[in] sb_file_spec 7712 A :py:class:`SBFileSpec` object that contains source file 7713 specification. 7714 7715 @return 7716 A :py:class:`SBSymbolContextList` that gets filled in with all of 7717 the symbol contexts for all the matches. 7718 """ 7719 return _lldb.SBModule_FindCompileUnits(self, sb_file_spec) 7720 7721 def GetNumSymbols(self): 7722 r"""GetNumSymbols(SBModule self) -> size_t""" 7723 return _lldb.SBModule_GetNumSymbols(self) 7724 7725 def GetSymbolAtIndex(self, idx): 7726 r"""GetSymbolAtIndex(SBModule self, size_t idx) -> SBSymbol""" 7727 return _lldb.SBModule_GetSymbolAtIndex(self, idx) 7728 7729 def FindSymbol(self, *args): 7730 r"""FindSymbol(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbol""" 7731 return _lldb.SBModule_FindSymbol(self, *args) 7732 7733 def FindSymbols(self, *args): 7734 r"""FindSymbols(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList""" 7735 return _lldb.SBModule_FindSymbols(self, *args) 7736 7737 def GetNumSections(self): 7738 r"""GetNumSections(SBModule self) -> size_t""" 7739 return _lldb.SBModule_GetNumSections(self) 7740 7741 def GetSectionAtIndex(self, idx): 7742 r"""GetSectionAtIndex(SBModule self, size_t idx) -> SBSection""" 7743 return _lldb.SBModule_GetSectionAtIndex(self, idx) 7744 7745 def FindFunctions(self, *args): 7746 r""" 7747 FindFunctions(SBModule self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList 7748 7749 Find functions by name. 7750 7751 @param[in] name 7752 The name of the function we are looking for. 7753 7754 @param[in] name_type_mask 7755 A logical OR of one or more FunctionNameType enum bits that 7756 indicate what kind of names should be used when doing the 7757 lookup. Bits include fully qualified names, base names, 7758 C++ methods, or ObjC selectors. 7759 See FunctionNameType for more details. 7760 7761 @return 7762 A symbol context list that gets filled in with all of the 7763 matches. 7764 """ 7765 return _lldb.SBModule_FindFunctions(self, *args) 7766 7767 def FindGlobalVariables(self, target, name, max_matches): 7768 r""" 7769 FindGlobalVariables(SBModule self, SBTarget target, char const * name, uint32_t max_matches) -> SBValueList 7770 7771 Find global and static variables by name. 7772 7773 @param[in] target 7774 A valid SBTarget instance representing the debuggee. 7775 7776 @param[in] name 7777 The name of the global or static variable we are looking 7778 for. 7779 7780 @param[in] max_matches 7781 Allow the number of matches to be limited to max_matches. 7782 7783 @return 7784 A list of matched variables in an SBValueList. 7785 """ 7786 return _lldb.SBModule_FindGlobalVariables(self, target, name, max_matches) 7787 7788 def FindFirstGlobalVariable(self, target, name): 7789 r""" 7790 FindFirstGlobalVariable(SBModule self, SBTarget target, char const * name) -> SBValue 7791 7792 Find the first global (or static) variable by name. 7793 7794 @param[in] target 7795 A valid SBTarget instance representing the debuggee. 7796 7797 @param[in] name 7798 The name of the global or static variable we are looking 7799 for. 7800 7801 @return 7802 An SBValue that gets filled in with the found variable (if any). 7803 """ 7804 return _lldb.SBModule_FindFirstGlobalVariable(self, target, name) 7805 7806 def FindFirstType(self, name): 7807 r"""FindFirstType(SBModule self, char const * name) -> SBType""" 7808 return _lldb.SBModule_FindFirstType(self, name) 7809 7810 def FindTypes(self, type): 7811 r"""FindTypes(SBModule self, char const * type) -> SBTypeList""" 7812 return _lldb.SBModule_FindTypes(self, type) 7813 7814 def GetTypeByID(self, uid): 7815 r"""GetTypeByID(SBModule self, lldb::user_id_t uid) -> SBType""" 7816 return _lldb.SBModule_GetTypeByID(self, uid) 7817 7818 def GetBasicType(self, type): 7819 r"""GetBasicType(SBModule self, lldb::BasicType type) -> SBType""" 7820 return _lldb.SBModule_GetBasicType(self, type) 7821 7822 def GetTypes(self, *args): 7823 r""" 7824 GetTypes(SBModule self, uint32_t type_mask=eTypeClassAny) -> SBTypeList 7825 7826 Get all types matching type_mask from debug info in this 7827 module. 7828 7829 @param[in] type_mask 7830 A bitfield that consists of one or more bits logically OR'ed 7831 together from the lldb::TypeClass enumeration. This allows 7832 you to request only structure types, or only class, struct 7833 and union types. Passing in lldb::eTypeClassAny will return 7834 all types found in the debug information for this module. 7835 7836 @return 7837 A list of types in this module that match type_mask 7838 """ 7839 return _lldb.SBModule_GetTypes(self, *args) 7840 7841 def GetVersion(self): 7842 r"""GetVersion(SBModule self) -> uint32_t""" 7843 return _lldb.SBModule_GetVersion(self) 7844 7845 def GetSymbolFileSpec(self): 7846 r"""GetSymbolFileSpec(SBModule self) -> SBFileSpec""" 7847 return _lldb.SBModule_GetSymbolFileSpec(self) 7848 7849 def GetObjectFileHeaderAddress(self): 7850 r"""GetObjectFileHeaderAddress(SBModule self) -> SBAddress""" 7851 return _lldb.SBModule_GetObjectFileHeaderAddress(self) 7852 7853 def GetObjectFileEntryPointAddress(self): 7854 r"""GetObjectFileEntryPointAddress(SBModule self) -> SBAddress""" 7855 return _lldb.SBModule_GetObjectFileEntryPointAddress(self) 7856 7857 @staticmethod 7858 def GetNumberAllocatedModules(): 7859 r""" 7860 GetNumberAllocatedModules() -> uint32_t 7861 7862 Returns the number of modules in the module cache. This is an 7863 implementation detail exposed for testing and should not be relied upon. 7864 7865 @return 7866 The number of modules in the module cache. 7867 """ 7868 return _lldb.SBModule_GetNumberAllocatedModules() 7869 7870 @staticmethod 7871 def GarbageCollectAllocatedModules(): 7872 r""" 7873 GarbageCollectAllocatedModules() 7874 7875 Removes all modules which are no longer needed by any part of LLDB from 7876 the module cache. 7877 7878 This is an implementation detail exposed for testing and should not be 7879 relied upon. Use SBDebugger::MemoryPressureDetected instead to reduce 7880 LLDB's memory consumption during execution. 7881 7882 """ 7883 return _lldb.SBModule_GarbageCollectAllocatedModules() 7884 7885 def __repr__(self): 7886 r"""__repr__(SBModule self) -> std::string""" 7887 return _lldb.SBModule___repr__(self) 7888 7889 # operator== is a free function, which swig does not handle, so we inject 7890 # our own equality operator here 7891 def __eq__(self, other): 7892 return not self.__ne__(other) 7893 7894 def __len__(self): 7895 '''Return the number of symbols in a lldb.SBModule object.''' 7896 return self.GetNumSymbols() 7897 7898 def __iter__(self): 7899 '''Iterate over all symbols in a lldb.SBModule object.''' 7900 return lldb_iter(self, 'GetNumSymbols', 'GetSymbolAtIndex') 7901 7902 def section_iter(self): 7903 '''Iterate over all sections in a lldb.SBModule object.''' 7904 return lldb_iter(self, 'GetNumSections', 'GetSectionAtIndex') 7905 7906 def compile_unit_iter(self): 7907 '''Iterate over all compile units in a lldb.SBModule object.''' 7908 return lldb_iter(self, 'GetNumCompileUnits', 'GetCompileUnitAtIndex') 7909 7910 def symbol_in_section_iter(self, section): 7911 '''Given a module and its contained section, returns an iterator on the 7912 symbols within the section.''' 7913 for sym in self: 7914 if in_range(sym, section): 7915 yield sym 7916 7917 class symbols_access(object): 7918 re_compile_type = type(re.compile('.')) 7919 '''A helper object that will lazily hand out lldb.SBSymbol objects for a module when supplied an index, name, or regular expression.''' 7920 def __init__(self, sbmodule): 7921 self.sbmodule = sbmodule 7922 7923 def __len__(self): 7924 if self.sbmodule: 7925 return int(self.sbmodule.GetNumSymbols()) 7926 return 0 7927 7928 def __getitem__(self, key): 7929 count = len(self) 7930 if type(key) is int: 7931 if -count <= key < count: 7932 key %= count 7933 return self.sbmodule.GetSymbolAtIndex(key) 7934 elif type(key) is str: 7935 matches = [] 7936 sc_list = self.sbmodule.FindSymbols(key) 7937 for sc in sc_list: 7938 symbol = sc.symbol 7939 if symbol: 7940 matches.append(symbol) 7941 return matches 7942 elif isinstance(key, self.re_compile_type): 7943 matches = [] 7944 for idx in range(count): 7945 symbol = self.sbmodule.GetSymbolAtIndex(idx) 7946 added = False 7947 name = symbol.name 7948 if name: 7949 re_match = key.search(name) 7950 if re_match: 7951 matches.append(symbol) 7952 added = True 7953 if not added: 7954 mangled = symbol.mangled 7955 if mangled: 7956 re_match = key.search(mangled) 7957 if re_match: 7958 matches.append(symbol) 7959 return matches 7960 else: 7961 print("error: unsupported item type: %s" % type(key)) 7962 return None 7963 7964 def get_symbols_access_object(self): 7965 '''An accessor function that returns a symbols_access() object which allows lazy symbol access from a lldb.SBModule object.''' 7966 return self.symbols_access (self) 7967 7968 def get_compile_units_access_object (self): 7969 '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.''' 7970 return self.compile_units_access (self) 7971 7972 def get_symbols_array(self): 7973 '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.''' 7974 symbols = [] 7975 for idx in range(self.num_symbols): 7976 symbols.append(self.GetSymbolAtIndex(idx)) 7977 return symbols 7978 7979 class sections_access(object): 7980 re_compile_type = type(re.compile('.')) 7981 '''A helper object that will lazily hand out lldb.SBSection objects for a module when supplied an index, name, or regular expression.''' 7982 def __init__(self, sbmodule): 7983 self.sbmodule = sbmodule 7984 7985 def __len__(self): 7986 if self.sbmodule: 7987 return int(self.sbmodule.GetNumSections()) 7988 return 0 7989 7990 def __getitem__(self, key): 7991 count = len(self) 7992 if type(key) is int: 7993 if -count <= key < count: 7994 key %= count 7995 return self.sbmodule.GetSectionAtIndex(key) 7996 elif type(key) is str: 7997 for idx in range(count): 7998 section = self.sbmodule.GetSectionAtIndex(idx) 7999 if section.name == key: 8000 return section 8001 elif isinstance(key, self.re_compile_type): 8002 matches = [] 8003 for idx in range(count): 8004 section = self.sbmodule.GetSectionAtIndex(idx) 8005 name = section.name 8006 if name: 8007 re_match = key.search(name) 8008 if re_match: 8009 matches.append(section) 8010 return matches 8011 else: 8012 print("error: unsupported item type: %s" % type(key)) 8013 return None 8014 8015 class compile_units_access(object): 8016 re_compile_type = type(re.compile('.')) 8017 '''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.''' 8018 def __init__(self, sbmodule): 8019 self.sbmodule = sbmodule 8020 8021 def __len__(self): 8022 if self.sbmodule: 8023 return int(self.sbmodule.GetNumCompileUnits()) 8024 return 0 8025 8026 def __getitem__(self, key): 8027 count = len(self) 8028 if type(key) is int: 8029 if -count <= key < count: 8030 key %= count 8031 return self.sbmodule.GetCompileUnitAtIndex(key) 8032 elif type(key) is str: 8033 is_full_path = key[0] == '/' 8034 for idx in range(count): 8035 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx) 8036 if is_full_path: 8037 if comp_unit.file.fullpath == key: 8038 return comp_unit 8039 else: 8040 if comp_unit.file.basename == key: 8041 return comp_unit 8042 elif isinstance(key, self.re_compile_type): 8043 matches = [] 8044 for idx in range(count): 8045 comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx) 8046 fullpath = comp_unit.file.fullpath 8047 if fullpath: 8048 re_match = key.search(fullpath) 8049 if re_match: 8050 matches.append(comp_unit) 8051 return matches 8052 else: 8053 print("error: unsupported item type: %s" % type(key)) 8054 return None 8055 8056 def get_sections_access_object(self): 8057 '''An accessor function that returns a sections_access() object which allows lazy section array access.''' 8058 return self.sections_access (self) 8059 8060 def get_sections_array(self): 8061 '''An accessor function that returns an array object that contains all sections in this module object.''' 8062 if not hasattr(self, 'sections_array'): 8063 self.sections_array = [] 8064 for idx in range(self.num_sections): 8065 self.sections_array.append(self.GetSectionAtIndex(idx)) 8066 return self.sections_array 8067 8068 def get_compile_units_array(self): 8069 '''An accessor function that returns an array object that contains all compile_units in this module object.''' 8070 if not hasattr(self, 'compile_units_array'): 8071 self.compile_units_array = [] 8072 for idx in range(self.GetNumCompileUnits()): 8073 self.compile_units_array.append(self.GetCompileUnitAtIndex(idx)) 8074 return self.compile_units_array 8075 8076 symbols = property(get_symbols_array, None, doc='''A read only property that returns a list() of lldb.SBSymbol objects contained in this module.''') 8077 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''') 8078 sections = property(get_sections_array, None, doc='''A read only property that returns a list() of lldb.SBSection objects contained in this module.''') 8079 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.''') 8080 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''') 8081 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.''') 8082 8083 def get_uuid(self): 8084 return uuid.UUID (self.GetUUIDString()) 8085 8086 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.''') 8087 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.''') 8088 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.''') 8089 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.''') 8090 addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this module.''') 8091 triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this module.''') 8092 num_symbols = property(GetNumSymbols, None, doc='''A read only property that returns number of symbols in the module symbol table as an integer.''') 8093 num_sections = property(GetNumSections, None, doc='''A read only property that returns number of sections in the module as an integer.''') 8094 8095 8096 8097 def __eq__(self, rhs): 8098 if not isinstance(rhs, type(self)): 8099 return False 8100 8101 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 8102 8103 def __ne__(self, rhs): 8104 if not isinstance(rhs, type(self)): 8105 return True 8106 8107 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 8108 8109 8110# Register SBModule in _lldb: 8111_lldb.SBModule_swigregister(SBModule) 8112class SBModuleSpec(object): 8113 r"""Proxy of C++ lldb::SBModuleSpec class.""" 8114 8115 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8116 8117 def __init__(self, *args): 8118 r""" 8119 __init__(SBModuleSpec self) -> SBModuleSpec 8120 __init__(SBModuleSpec self, SBModuleSpec rhs) -> SBModuleSpec 8121 """ 8122 _lldb.SBModuleSpec_swiginit(self, _lldb.new_SBModuleSpec(*args)) 8123 __swig_destroy__ = _lldb.delete_SBModuleSpec 8124 8125 def __nonzero__(self): 8126 return _lldb.SBModuleSpec___nonzero__(self) 8127 __bool__ = __nonzero__ 8128 8129 8130 8131 def IsValid(self): 8132 r"""IsValid(SBModuleSpec self) -> bool""" 8133 return _lldb.SBModuleSpec_IsValid(self) 8134 8135 def Clear(self): 8136 r"""Clear(SBModuleSpec self)""" 8137 return _lldb.SBModuleSpec_Clear(self) 8138 8139 def GetFileSpec(self): 8140 r""" 8141 GetFileSpec(SBModuleSpec self) -> SBFileSpec 8142 8143 Get const accessor for the module file. 8144 8145 This function returns the file for the module on the host system 8146 that is running LLDB. This can differ from the path on the 8147 platform since we might be doing remote debugging. 8148 8149 @return 8150 A const reference to the file specification object. 8151 """ 8152 return _lldb.SBModuleSpec_GetFileSpec(self) 8153 8154 def SetFileSpec(self, fspec): 8155 r"""SetFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8156 return _lldb.SBModuleSpec_SetFileSpec(self, fspec) 8157 8158 def GetPlatformFileSpec(self): 8159 r""" 8160 GetPlatformFileSpec(SBModuleSpec self) -> SBFileSpec 8161 8162 Get accessor for the module platform file. 8163 8164 Platform file refers to the path of the module as it is known on 8165 the remote system on which it is being debugged. For local 8166 debugging this is always the same as Module::GetFileSpec(). But 8167 remote debugging might mention a file '/usr/lib/liba.dylib' 8168 which might be locally downloaded and cached. In this case the 8169 platform file could be something like: 8170 '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 8171 The file could also be cached in a local developer kit directory. 8172 8173 @return 8174 A const reference to the file specification object. 8175 """ 8176 return _lldb.SBModuleSpec_GetPlatformFileSpec(self) 8177 8178 def SetPlatformFileSpec(self, fspec): 8179 r"""SetPlatformFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8180 return _lldb.SBModuleSpec_SetPlatformFileSpec(self, fspec) 8181 8182 def GetSymbolFileSpec(self): 8183 r"""GetSymbolFileSpec(SBModuleSpec self) -> SBFileSpec""" 8184 return _lldb.SBModuleSpec_GetSymbolFileSpec(self) 8185 8186 def SetSymbolFileSpec(self, fspec): 8187 r"""SetSymbolFileSpec(SBModuleSpec self, SBFileSpec fspec)""" 8188 return _lldb.SBModuleSpec_SetSymbolFileSpec(self, fspec) 8189 8190 def GetObjectName(self): 8191 r"""GetObjectName(SBModuleSpec self) -> char const *""" 8192 return _lldb.SBModuleSpec_GetObjectName(self) 8193 8194 def SetObjectName(self, name): 8195 r"""SetObjectName(SBModuleSpec self, char const * name)""" 8196 return _lldb.SBModuleSpec_SetObjectName(self, name) 8197 8198 def GetTriple(self): 8199 r"""GetTriple(SBModuleSpec self) -> char const *""" 8200 return _lldb.SBModuleSpec_GetTriple(self) 8201 8202 def SetTriple(self, triple): 8203 r"""SetTriple(SBModuleSpec self, char const * triple)""" 8204 return _lldb.SBModuleSpec_SetTriple(self, triple) 8205 8206 def GetUUIDBytes(self): 8207 r"""GetUUIDBytes(SBModuleSpec self) -> uint8_t const *""" 8208 return _lldb.SBModuleSpec_GetUUIDBytes(self) 8209 8210 def GetUUIDLength(self): 8211 r"""GetUUIDLength(SBModuleSpec self) -> size_t""" 8212 return _lldb.SBModuleSpec_GetUUIDLength(self) 8213 8214 def SetUUIDBytes(self, uuid, uuid_len): 8215 r"""SetUUIDBytes(SBModuleSpec self, uint8_t const * uuid, size_t uuid_len) -> bool""" 8216 return _lldb.SBModuleSpec_SetUUIDBytes(self, uuid, uuid_len) 8217 8218 def GetObjectOffset(self): 8219 r"""GetObjectOffset(SBModuleSpec self) -> uint64_t""" 8220 return _lldb.SBModuleSpec_GetObjectOffset(self) 8221 8222 def SetObjectOffset(self, object_offset): 8223 r"""SetObjectOffset(SBModuleSpec self, uint64_t object_offset)""" 8224 return _lldb.SBModuleSpec_SetObjectOffset(self, object_offset) 8225 8226 def GetObjectSize(self): 8227 r"""GetObjectSize(SBModuleSpec self) -> uint64_t""" 8228 return _lldb.SBModuleSpec_GetObjectSize(self) 8229 8230 def SetObjectSize(self, object_size): 8231 r"""SetObjectSize(SBModuleSpec self, uint64_t object_size)""" 8232 return _lldb.SBModuleSpec_SetObjectSize(self, object_size) 8233 8234 def GetDescription(self, description): 8235 r"""GetDescription(SBModuleSpec self, SBStream description) -> bool""" 8236 return _lldb.SBModuleSpec_GetDescription(self, description) 8237 8238 def __repr__(self): 8239 r"""__repr__(SBModuleSpec self) -> std::string""" 8240 return _lldb.SBModuleSpec___repr__(self) 8241 8242# Register SBModuleSpec in _lldb: 8243_lldb.SBModuleSpec_swigregister(SBModuleSpec) 8244class SBModuleSpecList(object): 8245 r"""Represents a list of :py:class:`SBModuleSpec`.""" 8246 8247 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8248 8249 def __init__(self, *args): 8250 r""" 8251 __init__(SBModuleSpecList self) -> SBModuleSpecList 8252 __init__(SBModuleSpecList self, SBModuleSpecList rhs) -> SBModuleSpecList 8253 """ 8254 _lldb.SBModuleSpecList_swiginit(self, _lldb.new_SBModuleSpecList(*args)) 8255 __swig_destroy__ = _lldb.delete_SBModuleSpecList 8256 8257 @staticmethod 8258 def GetModuleSpecifications(path): 8259 r"""GetModuleSpecifications(char const * path) -> SBModuleSpecList""" 8260 return _lldb.SBModuleSpecList_GetModuleSpecifications(path) 8261 8262 def Append(self, *args): 8263 r""" 8264 Append(SBModuleSpecList self, SBModuleSpec spec) 8265 Append(SBModuleSpecList self, SBModuleSpecList spec_list) 8266 """ 8267 return _lldb.SBModuleSpecList_Append(self, *args) 8268 8269 def FindFirstMatchingSpec(self, match_spec): 8270 r"""FindFirstMatchingSpec(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpec""" 8271 return _lldb.SBModuleSpecList_FindFirstMatchingSpec(self, match_spec) 8272 8273 def FindMatchingSpecs(self, match_spec): 8274 r"""FindMatchingSpecs(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpecList""" 8275 return _lldb.SBModuleSpecList_FindMatchingSpecs(self, match_spec) 8276 8277 def GetSize(self): 8278 r"""GetSize(SBModuleSpecList self) -> size_t""" 8279 return _lldb.SBModuleSpecList_GetSize(self) 8280 8281 def GetSpecAtIndex(self, i): 8282 r"""GetSpecAtIndex(SBModuleSpecList self, size_t i) -> SBModuleSpec""" 8283 return _lldb.SBModuleSpecList_GetSpecAtIndex(self, i) 8284 8285 def GetDescription(self, description): 8286 r"""GetDescription(SBModuleSpecList self, SBStream description) -> bool""" 8287 return _lldb.SBModuleSpecList_GetDescription(self, description) 8288 8289 def __repr__(self): 8290 r"""__repr__(SBModuleSpecList self) -> std::string""" 8291 return _lldb.SBModuleSpecList___repr__(self) 8292 8293 def __len__(self): 8294 '''Return the number of ModuleSpec in a lldb.SBModuleSpecList object.''' 8295 return self.GetSize() 8296 8297 def __iter__(self): 8298 '''Iterate over all ModuleSpecs in a lldb.SBModuleSpecList object.''' 8299 return lldb_iter(self, 'GetSize', 'GetSpecAtIndex') 8300 8301 8302# Register SBModuleSpecList in _lldb: 8303_lldb.SBModuleSpecList_swigregister(SBModuleSpecList) 8304class SBPlatformConnectOptions(object): 8305 r"""Describes how :py:class:`SBPlatform.ConnectRemote` connects to a remote platform.""" 8306 8307 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8308 __repr__ = _swig_repr 8309 8310 def __init__(self, *args): 8311 r""" 8312 __init__(SBPlatformConnectOptions self, char const * url) -> SBPlatformConnectOptions 8313 __init__(SBPlatformConnectOptions self, SBPlatformConnectOptions rhs) -> SBPlatformConnectOptions 8314 """ 8315 _lldb.SBPlatformConnectOptions_swiginit(self, _lldb.new_SBPlatformConnectOptions(*args)) 8316 __swig_destroy__ = _lldb.delete_SBPlatformConnectOptions 8317 8318 def GetURL(self): 8319 r"""GetURL(SBPlatformConnectOptions self) -> char const *""" 8320 return _lldb.SBPlatformConnectOptions_GetURL(self) 8321 8322 def SetURL(self, url): 8323 r"""SetURL(SBPlatformConnectOptions self, char const * url)""" 8324 return _lldb.SBPlatformConnectOptions_SetURL(self, url) 8325 8326 def GetRsyncEnabled(self): 8327 r"""GetRsyncEnabled(SBPlatformConnectOptions self) -> bool""" 8328 return _lldb.SBPlatformConnectOptions_GetRsyncEnabled(self) 8329 8330 def EnableRsync(self, options, remote_path_prefix, omit_remote_hostname): 8331 r"""EnableRsync(SBPlatformConnectOptions self, char const * options, char const * remote_path_prefix, bool omit_remote_hostname)""" 8332 return _lldb.SBPlatformConnectOptions_EnableRsync(self, options, remote_path_prefix, omit_remote_hostname) 8333 8334 def DisableRsync(self): 8335 r"""DisableRsync(SBPlatformConnectOptions self)""" 8336 return _lldb.SBPlatformConnectOptions_DisableRsync(self) 8337 8338 def GetLocalCacheDirectory(self): 8339 r"""GetLocalCacheDirectory(SBPlatformConnectOptions self) -> char const *""" 8340 return _lldb.SBPlatformConnectOptions_GetLocalCacheDirectory(self) 8341 8342 def SetLocalCacheDirectory(self, path): 8343 r"""SetLocalCacheDirectory(SBPlatformConnectOptions self, char const * path)""" 8344 return _lldb.SBPlatformConnectOptions_SetLocalCacheDirectory(self, path) 8345 8346# Register SBPlatformConnectOptions in _lldb: 8347_lldb.SBPlatformConnectOptions_swigregister(SBPlatformConnectOptions) 8348class SBPlatformShellCommand(object): 8349 r"""Represents a shell command that can be run by :py:class:`SBPlatform.Run`.""" 8350 8351 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8352 __repr__ = _swig_repr 8353 8354 def __init__(self, *args): 8355 r""" 8356 __init__(SBPlatformShellCommand self, char const * shell, char const * shell_command) -> SBPlatformShellCommand 8357 __init__(SBPlatformShellCommand self, char const * shell_command) -> SBPlatformShellCommand 8358 __init__(SBPlatformShellCommand self, SBPlatformShellCommand rhs) -> SBPlatformShellCommand 8359 """ 8360 _lldb.SBPlatformShellCommand_swiginit(self, _lldb.new_SBPlatformShellCommand(*args)) 8361 __swig_destroy__ = _lldb.delete_SBPlatformShellCommand 8362 8363 def Clear(self): 8364 r"""Clear(SBPlatformShellCommand self)""" 8365 return _lldb.SBPlatformShellCommand_Clear(self) 8366 8367 def GetShell(self): 8368 r"""GetShell(SBPlatformShellCommand self) -> char const *""" 8369 return _lldb.SBPlatformShellCommand_GetShell(self) 8370 8371 def SetShell(self, shell): 8372 r"""SetShell(SBPlatformShellCommand self, char const * shell)""" 8373 return _lldb.SBPlatformShellCommand_SetShell(self, shell) 8374 8375 def GetCommand(self): 8376 r"""GetCommand(SBPlatformShellCommand self) -> char const *""" 8377 return _lldb.SBPlatformShellCommand_GetCommand(self) 8378 8379 def SetCommand(self, shell_command): 8380 r"""SetCommand(SBPlatformShellCommand self, char const * shell_command)""" 8381 return _lldb.SBPlatformShellCommand_SetCommand(self, shell_command) 8382 8383 def GetWorkingDirectory(self): 8384 r"""GetWorkingDirectory(SBPlatformShellCommand self) -> char const *""" 8385 return _lldb.SBPlatformShellCommand_GetWorkingDirectory(self) 8386 8387 def SetWorkingDirectory(self, path): 8388 r"""SetWorkingDirectory(SBPlatformShellCommand self, char const * path)""" 8389 return _lldb.SBPlatformShellCommand_SetWorkingDirectory(self, path) 8390 8391 def GetTimeoutSeconds(self): 8392 r"""GetTimeoutSeconds(SBPlatformShellCommand self) -> uint32_t""" 8393 return _lldb.SBPlatformShellCommand_GetTimeoutSeconds(self) 8394 8395 def SetTimeoutSeconds(self, sec): 8396 r"""SetTimeoutSeconds(SBPlatformShellCommand self, uint32_t sec)""" 8397 return _lldb.SBPlatformShellCommand_SetTimeoutSeconds(self, sec) 8398 8399 def GetSignal(self): 8400 r"""GetSignal(SBPlatformShellCommand self) -> int""" 8401 return _lldb.SBPlatformShellCommand_GetSignal(self) 8402 8403 def GetStatus(self): 8404 r"""GetStatus(SBPlatformShellCommand self) -> int""" 8405 return _lldb.SBPlatformShellCommand_GetStatus(self) 8406 8407 def GetOutput(self): 8408 r"""GetOutput(SBPlatformShellCommand self) -> char const *""" 8409 return _lldb.SBPlatformShellCommand_GetOutput(self) 8410 8411# Register SBPlatformShellCommand in _lldb: 8412_lldb.SBPlatformShellCommand_swigregister(SBPlatformShellCommand) 8413class SBPlatform(object): 8414 r""" 8415 A class that represents a platform that can represent the current host or a remote host debug platform. 8416 8417 The SBPlatform class represents the current host, or a remote host. 8418 It can be connected to a remote platform in order to provide ways 8419 to remotely launch and attach to processes, upload/download files, 8420 create directories, run remote shell commands, find locally cached 8421 versions of files from the remote system, and much more. 8422 8423 SBPlatform objects can be created and then used to connect to a remote 8424 platform which allows the SBPlatform to be used to get a list of the 8425 current processes on the remote host, attach to one of those processes, 8426 install programs on the remote system, attach and launch processes, 8427 and much more. 8428 8429 Every :py:class:`SBTarget` has a corresponding SBPlatform. The platform can be 8430 specified upon target creation, or the currently selected platform 8431 will attempt to be used when creating the target automatically as long 8432 as the currently selected platform matches the target architecture 8433 and executable type. If the architecture or executable type do not match, 8434 a suitable platform will be found automatically. 8435 """ 8436 8437 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8438 __repr__ = _swig_repr 8439 8440 def __init__(self, *args): 8441 r""" 8442 __init__(SBPlatform self) -> SBPlatform 8443 __init__(SBPlatform self, char const * platform_name) -> SBPlatform 8444 __init__(SBPlatform self, SBPlatform rhs) -> SBPlatform 8445 """ 8446 _lldb.SBPlatform_swiginit(self, _lldb.new_SBPlatform(*args)) 8447 __swig_destroy__ = _lldb.delete_SBPlatform 8448 8449 @staticmethod 8450 def GetHostPlatform(): 8451 r"""GetHostPlatform() -> SBPlatform""" 8452 return _lldb.SBPlatform_GetHostPlatform() 8453 8454 def __nonzero__(self): 8455 return _lldb.SBPlatform___nonzero__(self) 8456 __bool__ = __nonzero__ 8457 8458 8459 8460 def IsValid(self): 8461 r"""IsValid(SBPlatform self) -> bool""" 8462 return _lldb.SBPlatform_IsValid(self) 8463 8464 def Clear(self): 8465 r"""Clear(SBPlatform self)""" 8466 return _lldb.SBPlatform_Clear(self) 8467 8468 def GetWorkingDirectory(self): 8469 r"""GetWorkingDirectory(SBPlatform self) -> char const *""" 8470 return _lldb.SBPlatform_GetWorkingDirectory(self) 8471 8472 def SetWorkingDirectory(self, path): 8473 r"""SetWorkingDirectory(SBPlatform self, char const * path) -> bool""" 8474 return _lldb.SBPlatform_SetWorkingDirectory(self, path) 8475 8476 def GetName(self): 8477 r"""GetName(SBPlatform self) -> char const *""" 8478 return _lldb.SBPlatform_GetName(self) 8479 8480 def ConnectRemote(self, connect_options): 8481 r"""ConnectRemote(SBPlatform self, SBPlatformConnectOptions connect_options) -> SBError""" 8482 return _lldb.SBPlatform_ConnectRemote(self, connect_options) 8483 8484 def DisconnectRemote(self): 8485 r"""DisconnectRemote(SBPlatform self)""" 8486 return _lldb.SBPlatform_DisconnectRemote(self) 8487 8488 def IsConnected(self): 8489 r"""IsConnected(SBPlatform self) -> bool""" 8490 return _lldb.SBPlatform_IsConnected(self) 8491 8492 def GetTriple(self): 8493 r"""GetTriple(SBPlatform self) -> char const *""" 8494 return _lldb.SBPlatform_GetTriple(self) 8495 8496 def GetHostname(self): 8497 r"""GetHostname(SBPlatform self) -> char const *""" 8498 return _lldb.SBPlatform_GetHostname(self) 8499 8500 def GetOSBuild(self): 8501 r"""GetOSBuild(SBPlatform self) -> char const *""" 8502 return _lldb.SBPlatform_GetOSBuild(self) 8503 8504 def GetOSDescription(self): 8505 r"""GetOSDescription(SBPlatform self) -> char const *""" 8506 return _lldb.SBPlatform_GetOSDescription(self) 8507 8508 def GetOSMajorVersion(self): 8509 r"""GetOSMajorVersion(SBPlatform self) -> uint32_t""" 8510 return _lldb.SBPlatform_GetOSMajorVersion(self) 8511 8512 def GetOSMinorVersion(self): 8513 r"""GetOSMinorVersion(SBPlatform self) -> uint32_t""" 8514 return _lldb.SBPlatform_GetOSMinorVersion(self) 8515 8516 def GetOSUpdateVersion(self): 8517 r"""GetOSUpdateVersion(SBPlatform self) -> uint32_t""" 8518 return _lldb.SBPlatform_GetOSUpdateVersion(self) 8519 8520 def SetSDKRoot(self, sysroot): 8521 r"""SetSDKRoot(SBPlatform self, char const * sysroot)""" 8522 return _lldb.SBPlatform_SetSDKRoot(self, sysroot) 8523 8524 def Put(self, src, dst): 8525 r"""Put(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8526 return _lldb.SBPlatform_Put(self, src, dst) 8527 8528 def Get(self, src, dst): 8529 r"""Get(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8530 return _lldb.SBPlatform_Get(self, src, dst) 8531 8532 def Install(self, src, dst): 8533 r"""Install(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError""" 8534 return _lldb.SBPlatform_Install(self, src, dst) 8535 8536 def Run(self, shell_command): 8537 r"""Run(SBPlatform self, SBPlatformShellCommand shell_command) -> SBError""" 8538 return _lldb.SBPlatform_Run(self, shell_command) 8539 8540 def Launch(self, launch_info): 8541 r"""Launch(SBPlatform self, SBLaunchInfo launch_info) -> SBError""" 8542 return _lldb.SBPlatform_Launch(self, launch_info) 8543 8544 def Attach(self, attach_info, debugger, target, error): 8545 r"""Attach(SBPlatform self, SBAttachInfo attach_info, SBDebugger debugger, SBTarget target, SBError error) -> SBProcess""" 8546 return _lldb.SBPlatform_Attach(self, attach_info, debugger, target, error) 8547 8548 def GetAllProcesses(self, error): 8549 r"""GetAllProcesses(SBPlatform self, SBError error) -> SBProcessInfoList""" 8550 return _lldb.SBPlatform_GetAllProcesses(self, error) 8551 8552 def Kill(self, pid): 8553 r"""Kill(SBPlatform self, lldb::pid_t const pid) -> SBError""" 8554 return _lldb.SBPlatform_Kill(self, pid) 8555 8556 def MakeDirectory(self, *args): 8557 r"""MakeDirectory(SBPlatform self, char const * path, uint32_t file_permissions=eFilePermissionsDirectoryDefault) -> SBError""" 8558 return _lldb.SBPlatform_MakeDirectory(self, *args) 8559 8560 def GetFilePermissions(self, path): 8561 r"""GetFilePermissions(SBPlatform self, char const * path) -> uint32_t""" 8562 return _lldb.SBPlatform_GetFilePermissions(self, path) 8563 8564 def SetFilePermissions(self, path, file_permissions): 8565 r"""SetFilePermissions(SBPlatform self, char const * path, uint32_t file_permissions) -> SBError""" 8566 return _lldb.SBPlatform_SetFilePermissions(self, path, file_permissions) 8567 8568 def GetUnixSignals(self): 8569 r"""GetUnixSignals(SBPlatform self) -> SBUnixSignals""" 8570 return _lldb.SBPlatform_GetUnixSignals(self) 8571 8572 def GetEnvironment(self): 8573 r"""GetEnvironment(SBPlatform self) -> SBEnvironment""" 8574 return _lldb.SBPlatform_GetEnvironment(self) 8575 8576 def SetLocateModuleCallback(self, callback): 8577 r"""SetLocateModuleCallback(SBPlatform self, lldb::SBPlatformLocateModuleCallback callback) -> SBError""" 8578 return _lldb.SBPlatform_SetLocateModuleCallback(self, callback) 8579 8580# Register SBPlatform in _lldb: 8581_lldb.SBPlatform_swigregister(SBPlatform) 8582class SBProcess(object): 8583 r""" 8584 Represents the process associated with the target program. 8585 8586 SBProcess supports thread iteration. For example (from test/lldbutil.py), :: 8587 8588 # ================================================== 8589 # Utility functions related to Threads and Processes 8590 # ================================================== 8591 8592 def get_stopped_threads(process, reason): 8593 '''Returns the thread(s) with the specified stop reason in a list. 8594 8595 The list can be empty if no such thread exists. 8596 ''' 8597 threads = [] 8598 for t in process: 8599 if t.GetStopReason() == reason: 8600 threads.append(t) 8601 return threads 8602 8603 """ 8604 8605 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 8606 eBroadcastBitStateChanged = _lldb.SBProcess_eBroadcastBitStateChanged 8607 8608 eBroadcastBitInterrupt = _lldb.SBProcess_eBroadcastBitInterrupt 8609 8610 eBroadcastBitSTDOUT = _lldb.SBProcess_eBroadcastBitSTDOUT 8611 8612 eBroadcastBitSTDERR = _lldb.SBProcess_eBroadcastBitSTDERR 8613 8614 eBroadcastBitProfileData = _lldb.SBProcess_eBroadcastBitProfileData 8615 8616 eBroadcastBitStructuredData = _lldb.SBProcess_eBroadcastBitStructuredData 8617 8618 8619 def __init__(self, *args): 8620 r""" 8621 __init__(SBProcess self) -> SBProcess 8622 __init__(SBProcess self, SBProcess rhs) -> SBProcess 8623 """ 8624 _lldb.SBProcess_swiginit(self, _lldb.new_SBProcess(*args)) 8625 __swig_destroy__ = _lldb.delete_SBProcess 8626 8627 @staticmethod 8628 def GetBroadcasterClassName(): 8629 r"""GetBroadcasterClassName() -> char const *""" 8630 return _lldb.SBProcess_GetBroadcasterClassName() 8631 8632 def GetPluginName(self): 8633 r"""GetPluginName(SBProcess self) -> char const *""" 8634 return _lldb.SBProcess_GetPluginName(self) 8635 8636 def GetShortPluginName(self): 8637 r"""GetShortPluginName(SBProcess self) -> char const *""" 8638 return _lldb.SBProcess_GetShortPluginName(self) 8639 8640 def Clear(self): 8641 r"""Clear(SBProcess self)""" 8642 return _lldb.SBProcess_Clear(self) 8643 8644 def __nonzero__(self): 8645 return _lldb.SBProcess___nonzero__(self) 8646 __bool__ = __nonzero__ 8647 8648 8649 8650 def IsValid(self): 8651 r"""IsValid(SBProcess self) -> bool""" 8652 return _lldb.SBProcess_IsValid(self) 8653 8654 def GetTarget(self): 8655 r"""GetTarget(SBProcess self) -> SBTarget""" 8656 return _lldb.SBProcess_GetTarget(self) 8657 8658 def GetByteOrder(self): 8659 r"""GetByteOrder(SBProcess self) -> lldb::ByteOrder""" 8660 return _lldb.SBProcess_GetByteOrder(self) 8661 8662 def PutSTDIN(self, src): 8663 r""" 8664 PutSTDIN(SBProcess self, char const * src) -> size_t 8665 8666 Writes data into the current process's stdin. API client specifies a Python 8667 string as the only argument. 8668 """ 8669 return _lldb.SBProcess_PutSTDIN(self, src) 8670 8671 def GetSTDOUT(self, dst): 8672 r""" 8673 GetSTDOUT(SBProcess self, char * dst) -> size_t 8674 8675 Reads data from the current process's stdout stream. API client specifies 8676 the size of the buffer to read data into. It returns the byte buffer in a 8677 Python string. 8678 """ 8679 return _lldb.SBProcess_GetSTDOUT(self, dst) 8680 8681 def GetSTDERR(self, dst): 8682 r""" 8683 GetSTDERR(SBProcess self, char * dst) -> size_t 8684 8685 Reads data from the current process's stderr stream. API client specifies 8686 the size of the buffer to read data into. It returns the byte buffer in a 8687 Python string. 8688 """ 8689 return _lldb.SBProcess_GetSTDERR(self, dst) 8690 8691 def GetAsyncProfileData(self, dst): 8692 r"""GetAsyncProfileData(SBProcess self, char * dst) -> size_t""" 8693 return _lldb.SBProcess_GetAsyncProfileData(self, dst) 8694 8695 def ReportEventState(self, *args): 8696 r""" 8697 ReportEventState(SBProcess self, SBEvent event, SBFile file) 8698 ReportEventState(SBProcess self, SBEvent event, lldb::FileSP BORROWED) 8699 """ 8700 return _lldb.SBProcess_ReportEventState(self, *args) 8701 8702 def AppendEventStateReport(self, event, result): 8703 r"""AppendEventStateReport(SBProcess self, SBEvent event, SBCommandReturnObject result)""" 8704 return _lldb.SBProcess_AppendEventStateReport(self, event, result) 8705 8706 def RemoteAttachToProcessWithID(self, pid, error): 8707 r""" 8708 RemoteAttachToProcessWithID(SBProcess self, lldb::pid_t pid, SBError error) -> bool 8709 8710 Remote connection related functions. These will fail if the 8711 process is not in eStateConnected. They are intended for use 8712 when connecting to an externally managed debugserver instance. 8713 """ 8714 return _lldb.SBProcess_RemoteAttachToProcessWithID(self, pid, error) 8715 8716 def RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error): 8717 r""" 8718 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 8719 See SBTarget.Launch for argument description and usage. 8720 """ 8721 return _lldb.SBProcess_RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error) 8722 8723 def GetNumThreads(self): 8724 r"""GetNumThreads(SBProcess self) -> uint32_t""" 8725 return _lldb.SBProcess_GetNumThreads(self) 8726 8727 def GetThreadAtIndex(self, index): 8728 r""" 8729 GetThreadAtIndex(SBProcess self, size_t index) -> SBThread 8730 8731 Returns the INDEX'th thread from the list of current threads. The index 8732 of a thread is only valid for the current stop. For a persistent thread 8733 identifier use either the thread ID or the IndexID. See help on SBThread 8734 for more details. 8735 """ 8736 return _lldb.SBProcess_GetThreadAtIndex(self, index) 8737 8738 def GetThreadByID(self, sb_thread_id): 8739 r""" 8740 GetThreadByID(SBProcess self, lldb::tid_t sb_thread_id) -> SBThread 8741 8742 Returns the thread with the given thread ID. 8743 """ 8744 return _lldb.SBProcess_GetThreadByID(self, sb_thread_id) 8745 8746 def GetThreadByIndexID(self, index_id): 8747 r""" 8748 GetThreadByIndexID(SBProcess self, uint32_t index_id) -> SBThread 8749 8750 Returns the thread with the given thread IndexID. 8751 """ 8752 return _lldb.SBProcess_GetThreadByIndexID(self, index_id) 8753 8754 def GetSelectedThread(self): 8755 r""" 8756 GetSelectedThread(SBProcess self) -> SBThread 8757 8758 Returns the currently selected thread. 8759 """ 8760 return _lldb.SBProcess_GetSelectedThread(self) 8761 8762 def CreateOSPluginThread(self, tid, context): 8763 r""" 8764 CreateOSPluginThread(SBProcess self, lldb::tid_t tid, lldb::addr_t context) -> SBThread 8765 8766 Lazily create a thread on demand through the current OperatingSystem plug-in, if the current OperatingSystem plug-in supports it. 8767 """ 8768 return _lldb.SBProcess_CreateOSPluginThread(self, tid, context) 8769 8770 def SetSelectedThread(self, thread): 8771 r"""SetSelectedThread(SBProcess self, SBThread thread) -> bool""" 8772 return _lldb.SBProcess_SetSelectedThread(self, thread) 8773 8774 def SetSelectedThreadByID(self, tid): 8775 r"""SetSelectedThreadByID(SBProcess self, lldb::tid_t tid) -> bool""" 8776 return _lldb.SBProcess_SetSelectedThreadByID(self, tid) 8777 8778 def SetSelectedThreadByIndexID(self, index_id): 8779 r"""SetSelectedThreadByIndexID(SBProcess self, uint32_t index_id) -> bool""" 8780 return _lldb.SBProcess_SetSelectedThreadByIndexID(self, index_id) 8781 8782 def GetNumQueues(self): 8783 r"""GetNumQueues(SBProcess self) -> uint32_t""" 8784 return _lldb.SBProcess_GetNumQueues(self) 8785 8786 def GetQueueAtIndex(self, index): 8787 r"""GetQueueAtIndex(SBProcess self, size_t index) -> SBQueue""" 8788 return _lldb.SBProcess_GetQueueAtIndex(self, index) 8789 8790 def GetState(self): 8791 r"""GetState(SBProcess self) -> lldb::StateType""" 8792 return _lldb.SBProcess_GetState(self) 8793 8794 def GetExitStatus(self): 8795 r"""GetExitStatus(SBProcess self) -> int""" 8796 return _lldb.SBProcess_GetExitStatus(self) 8797 8798 def GetExitDescription(self): 8799 r"""GetExitDescription(SBProcess self) -> char const *""" 8800 return _lldb.SBProcess_GetExitDescription(self) 8801 8802 def GetProcessID(self): 8803 r""" 8804 GetProcessID(SBProcess self) -> lldb::pid_t 8805 8806 Returns the process ID of the process. 8807 """ 8808 return _lldb.SBProcess_GetProcessID(self) 8809 8810 def GetUniqueID(self): 8811 r""" 8812 GetUniqueID(SBProcess self) -> uint32_t 8813 8814 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. 8815 """ 8816 return _lldb.SBProcess_GetUniqueID(self) 8817 8818 def GetAddressByteSize(self): 8819 r"""GetAddressByteSize(SBProcess self) -> uint32_t""" 8820 return _lldb.SBProcess_GetAddressByteSize(self) 8821 8822 def Destroy(self): 8823 r""" 8824 Destroy(SBProcess self) -> SBError 8825 8826 Kills the process and shuts down all threads that were spawned to 8827 track and monitor process. 8828 """ 8829 return _lldb.SBProcess_Destroy(self) 8830 8831 def Continue(self): 8832 r"""Continue(SBProcess self) -> SBError""" 8833 return _lldb.SBProcess_Continue(self) 8834 8835 def Stop(self): 8836 r"""Stop(SBProcess self) -> SBError""" 8837 return _lldb.SBProcess_Stop(self) 8838 8839 def Kill(self): 8840 r""" 8841 Kill(SBProcess self) -> SBError 8842 Same as Destroy(self). 8843 """ 8844 return _lldb.SBProcess_Kill(self) 8845 8846 def Detach(self, *args): 8847 r""" 8848 Detach(SBProcess self) -> SBError 8849 Detach(SBProcess self, bool keep_stopped) -> SBError 8850 """ 8851 return _lldb.SBProcess_Detach(self, *args) 8852 8853 def Signal(self, signal): 8854 r""" 8855 Signal(SBProcess self, int signal) -> SBError 8856 Sends the process a unix signal. 8857 """ 8858 return _lldb.SBProcess_Signal(self, signal) 8859 8860 def GetUnixSignals(self): 8861 r"""GetUnixSignals(SBProcess self) -> SBUnixSignals""" 8862 return _lldb.SBProcess_GetUnixSignals(self) 8863 8864 def SendAsyncInterrupt(self): 8865 r"""SendAsyncInterrupt(SBProcess self)""" 8866 return _lldb.SBProcess_SendAsyncInterrupt(self) 8867 8868 def GetStopID(self, include_expression_stops=False): 8869 r""" 8870 GetStopID(SBProcess self, bool include_expression_stops=False) -> uint32_t 8871 8872 Returns a stop id that will increase every time the process executes. If 8873 include_expression_stops is true, then stops caused by expression evaluation 8874 will cause the returned value to increase, otherwise the counter returned will 8875 only increase when execution is continued explicitly by the user. Note, the value 8876 will always increase, but may increase by more than one per stop. 8877 """ 8878 return _lldb.SBProcess_GetStopID(self, include_expression_stops) 8879 8880 def GetStopEventForStopID(self, stop_id): 8881 r"""GetStopEventForStopID(SBProcess self, uint32_t stop_id) -> SBEvent""" 8882 return _lldb.SBProcess_GetStopEventForStopID(self, stop_id) 8883 8884 def ForceScriptedState(self, new_state): 8885 r"""ForceScriptedState(SBProcess self, lldb::StateType new_state)""" 8886 return _lldb.SBProcess_ForceScriptedState(self, new_state) 8887 8888 def ReadMemory(self, addr, buf, error): 8889 r""" 8890 ReadMemory(SBProcess self, lldb::addr_t addr, void * buf, SBError error) -> size_t 8891 8892 Reads memory from the current process's address space and removes any 8893 traps that may have been inserted into the memory. It returns the byte 8894 buffer in a Python string. Example: :: 8895 8896 # Read 4 bytes from address 'addr' and assume error.Success() is True. 8897 content = process.ReadMemory(addr, 4, error) 8898 new_bytes = bytearray(content) 8899 """ 8900 return _lldb.SBProcess_ReadMemory(self, addr, buf, error) 8901 8902 def WriteMemory(self, addr, buf, error): 8903 r""" 8904 WriteMemory(SBProcess self, lldb::addr_t addr, void const * buf, SBError error) -> size_t 8905 8906 Writes memory to the current process's address space and maintains any 8907 traps that might be present due to software breakpoints. Example: :: 8908 8909 # Create a Python string from the byte array. 8910 new_value = str(bytes) 8911 result = process.WriteMemory(addr, new_value, error) 8912 if not error.Success() or result != len(bytes): 8913 print('SBProcess.WriteMemory() failed!') 8914 """ 8915 return _lldb.SBProcess_WriteMemory(self, addr, buf, error) 8916 8917 def ReadCStringFromMemory(self, addr, char_buf, error): 8918 r""" 8919 ReadCStringFromMemory(SBProcess self, lldb::addr_t addr, void * char_buf, SBError error) -> size_t 8920 8921 Reads a NUL terminated C string from the current process's address space. 8922 It returns a python string of the exact length, or truncates the string if 8923 the maximum character limit is reached. Example: :: 8924 8925 # Read a C string of at most 256 bytes from address '0x1000' 8926 error = lldb.SBError() 8927 cstring = process.ReadCStringFromMemory(0x1000, 256, error) 8928 if error.Success(): 8929 print('cstring: ', cstring) 8930 else 8931 print('error: ', error) 8932 """ 8933 return _lldb.SBProcess_ReadCStringFromMemory(self, addr, char_buf, error) 8934 8935 def ReadUnsignedFromMemory(self, addr, byte_size, error): 8936 r""" 8937 ReadUnsignedFromMemory(SBProcess self, lldb::addr_t addr, uint32_t byte_size, SBError error) -> uint64_t 8938 8939 Reads an unsigned integer from memory given a byte size and an address. 8940 Returns the unsigned integer that was read. Example: :: 8941 8942 # Read a 4 byte unsigned integer from address 0x1000 8943 error = lldb.SBError() 8944 uint = ReadUnsignedFromMemory(0x1000, 4, error) 8945 if error.Success(): 8946 print('integer: %u' % uint) 8947 else 8948 print('error: ', error) 8949 """ 8950 return _lldb.SBProcess_ReadUnsignedFromMemory(self, addr, byte_size, error) 8951 8952 def ReadPointerFromMemory(self, addr, error): 8953 r""" 8954 ReadPointerFromMemory(SBProcess self, lldb::addr_t addr, SBError error) -> lldb::addr_t 8955 8956 Reads a pointer from memory from an address and returns the value. Example: :: 8957 8958 # Read a pointer from address 0x1000 8959 error = lldb.SBError() 8960 ptr = ReadPointerFromMemory(0x1000, error) 8961 if error.Success(): 8962 print('pointer: 0x%x' % ptr) 8963 else 8964 print('error: ', error) 8965 """ 8966 return _lldb.SBProcess_ReadPointerFromMemory(self, addr, error) 8967 8968 @staticmethod 8969 def GetStateFromEvent(event): 8970 r"""GetStateFromEvent(SBEvent event) -> lldb::StateType""" 8971 return _lldb.SBProcess_GetStateFromEvent(event) 8972 8973 @staticmethod 8974 def GetRestartedFromEvent(event): 8975 r"""GetRestartedFromEvent(SBEvent event) -> bool""" 8976 return _lldb.SBProcess_GetRestartedFromEvent(event) 8977 8978 @staticmethod 8979 def GetNumRestartedReasonsFromEvent(event): 8980 r"""GetNumRestartedReasonsFromEvent(SBEvent event) -> size_t""" 8981 return _lldb.SBProcess_GetNumRestartedReasonsFromEvent(event) 8982 8983 @staticmethod 8984 def GetRestartedReasonAtIndexFromEvent(event, idx): 8985 r"""GetRestartedReasonAtIndexFromEvent(SBEvent event, size_t idx) -> char const *""" 8986 return _lldb.SBProcess_GetRestartedReasonAtIndexFromEvent(event, idx) 8987 8988 @staticmethod 8989 def GetProcessFromEvent(event): 8990 r"""GetProcessFromEvent(SBEvent event) -> SBProcess""" 8991 return _lldb.SBProcess_GetProcessFromEvent(event) 8992 8993 @staticmethod 8994 def GetInterruptedFromEvent(event): 8995 r"""GetInterruptedFromEvent(SBEvent event) -> bool""" 8996 return _lldb.SBProcess_GetInterruptedFromEvent(event) 8997 8998 @staticmethod 8999 def GetStructuredDataFromEvent(event): 9000 r"""GetStructuredDataFromEvent(SBEvent event) -> SBStructuredData""" 9001 return _lldb.SBProcess_GetStructuredDataFromEvent(event) 9002 9003 @staticmethod 9004 def EventIsProcessEvent(event): 9005 r"""EventIsProcessEvent(SBEvent event) -> bool""" 9006 return _lldb.SBProcess_EventIsProcessEvent(event) 9007 9008 @staticmethod 9009 def EventIsStructuredDataEvent(event): 9010 r"""EventIsStructuredDataEvent(SBEvent event) -> bool""" 9011 return _lldb.SBProcess_EventIsStructuredDataEvent(event) 9012 9013 def GetBroadcaster(self): 9014 r"""GetBroadcaster(SBProcess self) -> SBBroadcaster""" 9015 return _lldb.SBProcess_GetBroadcaster(self) 9016 9017 @staticmethod 9018 def GetBroadcasterClass(): 9019 r""" 9020 GetBroadcasterClass() -> char const * 9021 Get default process broadcaster class name (lldb.process). 9022 """ 9023 return _lldb.SBProcess_GetBroadcasterClass() 9024 9025 def GetDescription(self, description): 9026 r"""GetDescription(SBProcess self, SBStream description) -> bool""" 9027 return _lldb.SBProcess_GetDescription(self, description) 9028 9029 def GetExtendedCrashInformation(self): 9030 r""" 9031 GetExtendedCrashInformation(SBProcess self) -> SBStructuredData 9032 9033 Returns the process' extended crash information. 9034 """ 9035 return _lldb.SBProcess_GetExtendedCrashInformation(self) 9036 9037 def GetNumSupportedHardwareWatchpoints(self, error): 9038 r"""GetNumSupportedHardwareWatchpoints(SBProcess self, SBError error) -> uint32_t""" 9039 return _lldb.SBProcess_GetNumSupportedHardwareWatchpoints(self, error) 9040 9041 def LoadImage(self, *args): 9042 r""" 9043 LoadImage(SBProcess self, SBFileSpec remote_image_spec, SBError error) -> uint32_t 9044 LoadImage(SBProcess self, SBFileSpec local_image_spec, SBFileSpec remote_image_spec, SBError error) -> uint32_t 9045 """ 9046 return _lldb.SBProcess_LoadImage(self, *args) 9047 9048 def LoadImageUsingPaths(self, image_spec, paths, loaded_path, error): 9049 r""" 9050 LoadImageUsingPaths(SBProcess self, SBFileSpec image_spec, SBStringList paths, SBFileSpec loaded_path, SBError error) -> uint32_t 9051 9052 Load the library whose filename is given by image_spec looking in all the 9053 paths supplied in the paths argument. If successful, return a token that 9054 can be passed to UnloadImage and fill loaded_path with the path that was 9055 successfully loaded. On failure, return 9056 lldb.LLDB_INVALID_IMAGE_TOKEN. 9057 """ 9058 return _lldb.SBProcess_LoadImageUsingPaths(self, image_spec, paths, loaded_path, error) 9059 9060 def UnloadImage(self, image_token): 9061 r"""UnloadImage(SBProcess self, uint32_t image_token) -> SBError""" 9062 return _lldb.SBProcess_UnloadImage(self, image_token) 9063 9064 def SendEventData(self, data): 9065 r"""SendEventData(SBProcess self, char const * data) -> SBError""" 9066 return _lldb.SBProcess_SendEventData(self, data) 9067 9068 def GetNumExtendedBacktraceTypes(self): 9069 r""" 9070 GetNumExtendedBacktraceTypes(SBProcess self) -> uint32_t 9071 9072 Return the number of different thread-origin extended backtraces 9073 this process can support as a uint32_t. 9074 When the process is stopped and you have an SBThread, lldb may be 9075 able to show a backtrace of when that thread was originally created, 9076 or the work item was enqueued to it (in the case of a libdispatch 9077 queue). 9078 """ 9079 return _lldb.SBProcess_GetNumExtendedBacktraceTypes(self) 9080 9081 def GetExtendedBacktraceTypeAtIndex(self, idx): 9082 r""" 9083 GetExtendedBacktraceTypeAtIndex(SBProcess self, uint32_t idx) -> char const * 9084 9085 Takes an index argument, returns the name of one of the thread-origin 9086 extended backtrace methods as a str. 9087 """ 9088 return _lldb.SBProcess_GetExtendedBacktraceTypeAtIndex(self, idx) 9089 9090 def GetHistoryThreads(self, addr): 9091 r"""GetHistoryThreads(SBProcess self, lldb::addr_t addr) -> SBThreadCollection""" 9092 return _lldb.SBProcess_GetHistoryThreads(self, addr) 9093 9094 def IsInstrumentationRuntimePresent(self, type): 9095 r"""IsInstrumentationRuntimePresent(SBProcess self, lldb::InstrumentationRuntimeType type) -> bool""" 9096 return _lldb.SBProcess_IsInstrumentationRuntimePresent(self, type) 9097 9098 def SaveCore(self, *args): 9099 r""" 9100 SaveCore(SBProcess self, char const * file_name, char const * flavor, lldb::SaveCoreStyle core_style) -> SBError 9101 SaveCore(SBProcess self, char const * file_name) -> SBError 9102 """ 9103 return _lldb.SBProcess_SaveCore(self, *args) 9104 9105 def GetMemoryRegionInfo(self, load_addr, region_info): 9106 r"""GetMemoryRegionInfo(SBProcess self, lldb::addr_t load_addr, SBMemoryRegionInfo region_info) -> SBError""" 9107 return _lldb.SBProcess_GetMemoryRegionInfo(self, load_addr, region_info) 9108 9109 def GetMemoryRegions(self): 9110 r"""GetMemoryRegions(SBProcess self) -> SBMemoryRegionInfoList""" 9111 return _lldb.SBProcess_GetMemoryRegions(self) 9112 9113 def GetProcessInfo(self): 9114 r""" 9115 GetProcessInfo(SBProcess self) -> SBProcessInfo 9116 9117 Get information about the process. 9118 Valid process info will only be returned when the process is alive, 9119 use IsValid() to check if the info returned is valid. :: 9120 9121 process_info = process.GetProcessInfo() 9122 if process_info.IsValid(): 9123 process_info.GetProcessID() 9124 """ 9125 return _lldb.SBProcess_GetProcessInfo(self) 9126 9127 def GetCoreFile(self): 9128 r"""GetCoreFile(SBProcess self) -> SBFileSpec""" 9129 return _lldb.SBProcess_GetCoreFile(self) 9130 9131 def GetAddressMask(self, *args): 9132 r""" 9133 GetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) -> lldb::addr_t 9134 9135 Get the current address mask in this Process of a given type. 9136 There are lldb.eAddressMaskTypeCode and lldb.eAddressMaskTypeData address 9137 masks, and on most Targets, the the Data address mask is more general 9138 because there are no alignment restrictions, as there can be with Code 9139 addresses. 9140 lldb.eAddressMaskTypeAny may be used to get the most general mask. 9141 The bits which are not used for addressing are set to 1 in the returned 9142 mask. 9143 In an unusual environment with different address masks for high and low 9144 memory, this may also be specified. This is uncommon, default is 9145 lldb.eAddressMaskRangeLow. 9146 """ 9147 return _lldb.SBProcess_GetAddressMask(self, *args) 9148 9149 def SetAddressMask(self, *args): 9150 r""" 9151 SetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::addr_t mask, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) 9152 9153 Set the current address mask in this Process for a given type, 9154 lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData. Bits that are not 9155 used for addressing should be set to 1 in the mask. 9156 When setting all masks, lldb.eAddressMaskTypeAll may be specified. 9157 In an unusual environment with different address masks for high and low 9158 memory, this may also be specified. This is uncommon, default is 9159 lldb.eAddressMaskRangeLow. 9160 """ 9161 return _lldb.SBProcess_SetAddressMask(self, *args) 9162 9163 def SetAddressableBits(self, *args): 9164 r""" 9165 SetAddressableBits(SBProcess self, lldb::AddressMaskType type, uint32_t num_bits, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) 9166 9167 Set the number of low bits relevant for addressing in this Process 9168 for a given type, lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData. 9169 When setting all masks, lldb.eAddressMaskTypeAll may be specified. 9170 In an unusual environment with different address masks for high and low 9171 memory, the address range may also be specified. This is uncommon, 9172 default is lldb.eAddressMaskRangeLow. 9173 """ 9174 return _lldb.SBProcess_SetAddressableBits(self, *args) 9175 9176 def FixAddress(self, *args): 9177 r""" 9178 FixAddress(SBProcess self, lldb::addr_t addr, lldb::AddressMaskType type=eAddressMaskTypeAny) -> lldb::addr_t 9179 9180 Given a virtual address, clear the bits that are not used for addressing 9181 (and may be used for metadata, memory tagging, point authentication, etc). 9182 By default the most general mask, lldb.eAddressMaskTypeAny is used to 9183 process the address, but lldb.eAddressMaskTypeData and 9184 lldb.eAddressMaskTypeCode may be specified if the type of address is known. 9185 """ 9186 return _lldb.SBProcess_FixAddress(self, *args) 9187 9188 def AllocateMemory(self, size, permissions, error): 9189 r""" 9190 AllocateMemory(SBProcess self, size_t size, uint32_t permissions, SBError error) -> lldb::addr_t 9191 9192 Allocates a block of memory within the process, with size and 9193 access permissions specified in the arguments. The permissions 9194 argument is an or-combination of zero or more of 9195 lldb.ePermissionsWritable, lldb.ePermissionsReadable, and 9196 lldb.ePermissionsExecutable. Returns the address 9197 of the allocated buffer in the process, or 9198 lldb.LLDB_INVALID_ADDRESS if the allocation failed. 9199 """ 9200 return _lldb.SBProcess_AllocateMemory(self, size, permissions, error) 9201 9202 def DeallocateMemory(self, ptr): 9203 r""" 9204 DeallocateMemory(SBProcess self, lldb::addr_t ptr) -> SBError 9205 9206 Deallocates the block of memory (previously allocated using 9207 AllocateMemory) given in the argument. 9208 """ 9209 return _lldb.SBProcess_DeallocateMemory(self, ptr) 9210 9211 def GetScriptedImplementation(self): 9212 r""" 9213 GetScriptedImplementation(SBProcess self) -> SBScriptObject 9214 9215 Returns the implementation object of the process plugin if available. None 9216 otherwise. 9217 """ 9218 return _lldb.SBProcess_GetScriptedImplementation(self) 9219 9220 def GetStatus(self, status): 9221 r"""GetStatus(SBProcess self, SBStream status)""" 9222 return _lldb.SBProcess_GetStatus(self, status) 9223 9224 def __repr__(self): 9225 r"""__repr__(SBProcess self) -> std::string""" 9226 return _lldb.SBProcess___repr__(self) 9227 9228 def WriteMemoryAsCString(self, addr, str, error): 9229 ''' 9230 WriteMemoryAsCString(self, addr, str, error): 9231 This functions the same as `WriteMemory` except a null-terminator is appended 9232 to the end of the buffer if it is not there already. 9233 ''' 9234 if not str or len(str) == 0: 9235 return 0 9236 if not str[-1] == '\0': 9237 str += '\0' 9238 return self.WriteMemory(addr, str, error) 9239 9240 def __get_is_alive__(self): 9241 '''Returns "True" if the process is currently alive, "False" otherwise''' 9242 s = self.GetState() 9243 if (s == eStateAttaching or 9244 s == eStateLaunching or 9245 s == eStateStopped or 9246 s == eStateRunning or 9247 s == eStateStepping or 9248 s == eStateCrashed or 9249 s == eStateSuspended): 9250 return True 9251 return False 9252 9253 def __get_is_running__(self): 9254 '''Returns "True" if the process is currently running, "False" otherwise''' 9255 state = self.GetState() 9256 if state == eStateRunning or state == eStateStepping: 9257 return True 9258 return False 9259 9260 def __get_is_stopped__(self): 9261 '''Returns "True" if the process is currently stopped, "False" otherwise''' 9262 state = self.GetState() 9263 if state == eStateStopped or state == eStateCrashed or state == eStateSuspended: 9264 return True 9265 return False 9266 9267 class threads_access(object): 9268 '''A helper object that will lazily hand out thread for a process when supplied an index.''' 9269 def __init__(self, sbprocess): 9270 self.sbprocess = sbprocess 9271 9272 def __len__(self): 9273 if self.sbprocess: 9274 return int(self.sbprocess.GetNumThreads()) 9275 return 0 9276 9277 def __getitem__(self, key): 9278 if isinstance(key, int): 9279 count = len(self) 9280 if -count <= key < count: 9281 key %= count 9282 return self.sbprocess.GetThreadAtIndex(key) 9283 return None 9284 9285 def get_threads_access_object(self): 9286 '''An accessor function that returns a modules_access() object which allows lazy thread access from a lldb.SBProcess object.''' 9287 return self.threads_access (self) 9288 9289 def get_process_thread_list(self): 9290 '''An accessor function that returns a list() that contains all threads in a lldb.SBProcess object.''' 9291 threads = [] 9292 accessor = self.get_threads_access_object() 9293 for idx in range(len(accessor)): 9294 threads.append(accessor[idx]) 9295 return threads 9296 9297 def __iter__(self): 9298 '''Iterate over all threads in a lldb.SBProcess object.''' 9299 return lldb_iter(self, 'GetNumThreads', 'GetThreadAtIndex') 9300 9301 def __len__(self): 9302 '''Return the number of threads in a lldb.SBProcess object.''' 9303 return self.GetNumThreads() 9304 9305 def __int__(self): 9306 return self.GetProcessID() 9307 9308 threads = property(get_process_thread_list, None, doc='''A read only property that returns a list() of lldb.SBThread objects for this process.''') 9309 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]).''') 9310 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.''') 9311 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.''') 9312 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.''') 9313 id = property(GetProcessID, None, doc='''A read only property that returns the process ID as an integer.''') 9314 target = property(GetTarget, None, doc='''A read only property that an lldb object that represents the target (lldb.SBTarget) that owns this process.''') 9315 num_threads = property(GetNumThreads, None, doc='''A read only property that returns the number of threads in this process as an integer.''') 9316 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.''') 9317 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.).''') 9318 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.''') 9319 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.''') 9320 broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this process.''') 9321 9322 9323# Register SBProcess in _lldb: 9324_lldb.SBProcess_swigregister(SBProcess) 9325class SBProcessInfo(object): 9326 r""" 9327 Describes an existing process and any discoverable information that pertains to 9328 that process. 9329 """ 9330 9331 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9332 __repr__ = _swig_repr 9333 9334 def __init__(self, *args): 9335 r""" 9336 __init__(SBProcessInfo self) -> SBProcessInfo 9337 __init__(SBProcessInfo self, SBProcessInfo rhs) -> SBProcessInfo 9338 """ 9339 _lldb.SBProcessInfo_swiginit(self, _lldb.new_SBProcessInfo(*args)) 9340 __swig_destroy__ = _lldb.delete_SBProcessInfo 9341 9342 def __nonzero__(self): 9343 return _lldb.SBProcessInfo___nonzero__(self) 9344 __bool__ = __nonzero__ 9345 9346 9347 9348 def IsValid(self): 9349 r"""IsValid(SBProcessInfo self) -> bool""" 9350 return _lldb.SBProcessInfo_IsValid(self) 9351 9352 def GetName(self): 9353 r"""GetName(SBProcessInfo self) -> char const *""" 9354 return _lldb.SBProcessInfo_GetName(self) 9355 9356 def GetExecutableFile(self): 9357 r"""GetExecutableFile(SBProcessInfo self) -> SBFileSpec""" 9358 return _lldb.SBProcessInfo_GetExecutableFile(self) 9359 9360 def GetProcessID(self): 9361 r"""GetProcessID(SBProcessInfo self) -> lldb::pid_t""" 9362 return _lldb.SBProcessInfo_GetProcessID(self) 9363 9364 def GetUserID(self): 9365 r"""GetUserID(SBProcessInfo self) -> uint32_t""" 9366 return _lldb.SBProcessInfo_GetUserID(self) 9367 9368 def GetGroupID(self): 9369 r"""GetGroupID(SBProcessInfo self) -> uint32_t""" 9370 return _lldb.SBProcessInfo_GetGroupID(self) 9371 9372 def UserIDIsValid(self): 9373 r"""UserIDIsValid(SBProcessInfo self) -> bool""" 9374 return _lldb.SBProcessInfo_UserIDIsValid(self) 9375 9376 def GroupIDIsValid(self): 9377 r"""GroupIDIsValid(SBProcessInfo self) -> bool""" 9378 return _lldb.SBProcessInfo_GroupIDIsValid(self) 9379 9380 def GetEffectiveUserID(self): 9381 r"""GetEffectiveUserID(SBProcessInfo self) -> uint32_t""" 9382 return _lldb.SBProcessInfo_GetEffectiveUserID(self) 9383 9384 def GetEffectiveGroupID(self): 9385 r"""GetEffectiveGroupID(SBProcessInfo self) -> uint32_t""" 9386 return _lldb.SBProcessInfo_GetEffectiveGroupID(self) 9387 9388 def EffectiveUserIDIsValid(self): 9389 r"""EffectiveUserIDIsValid(SBProcessInfo self) -> bool""" 9390 return _lldb.SBProcessInfo_EffectiveUserIDIsValid(self) 9391 9392 def EffectiveGroupIDIsValid(self): 9393 r"""EffectiveGroupIDIsValid(SBProcessInfo self) -> bool""" 9394 return _lldb.SBProcessInfo_EffectiveGroupIDIsValid(self) 9395 9396 def GetParentProcessID(self): 9397 r"""GetParentProcessID(SBProcessInfo self) -> lldb::pid_t""" 9398 return _lldb.SBProcessInfo_GetParentProcessID(self) 9399 9400 def GetTriple(self): 9401 r""" 9402 GetTriple(SBProcessInfo self) -> char const * 9403 Return the target triple (arch-vendor-os) for the described process. 9404 """ 9405 return _lldb.SBProcessInfo_GetTriple(self) 9406 9407# Register SBProcessInfo in _lldb: 9408_lldb.SBProcessInfo_swigregister(SBProcessInfo) 9409class SBProcessInfoList(object): 9410 r"""Proxy of C++ lldb::SBProcessInfoList class.""" 9411 9412 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9413 __repr__ = _swig_repr 9414 __swig_destroy__ = _lldb.delete_SBProcessInfoList 9415 9416 def __init__(self, *args): 9417 r""" 9418 __init__(SBProcessInfoList self) -> SBProcessInfoList 9419 __init__(SBProcessInfoList self, SBProcessInfoList rhs) -> SBProcessInfoList 9420 """ 9421 _lldb.SBProcessInfoList_swiginit(self, _lldb.new_SBProcessInfoList(*args)) 9422 9423 def GetSize(self): 9424 r"""GetSize(SBProcessInfoList self) -> uint32_t""" 9425 return _lldb.SBProcessInfoList_GetSize(self) 9426 9427 def GetProcessInfoAtIndex(self, idx, info): 9428 r"""GetProcessInfoAtIndex(SBProcessInfoList self, uint32_t idx, SBProcessInfo info) -> bool""" 9429 return _lldb.SBProcessInfoList_GetProcessInfoAtIndex(self, idx, info) 9430 9431 def Clear(self): 9432 r"""Clear(SBProcessInfoList self)""" 9433 return _lldb.SBProcessInfoList_Clear(self) 9434 9435 def __len__(self): 9436 '''Return the number of process info in a lldb.SBProcessInfoListExtensions object.''' 9437 return self.GetSize() 9438 9439 def __iter__(self): 9440 '''Iterate over all the process info in a lldb.SBProcessInfoListExtensions object.''' 9441 return lldb_iter(self, 'GetSize', 'GetProcessInfoAtIndex') 9442 9443 9444# Register SBProcessInfoList in _lldb: 9445_lldb.SBProcessInfoList_swigregister(SBProcessInfoList) 9446class SBQueue(object): 9447 r"""Represents a libdispatch queue in the process.""" 9448 9449 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9450 __repr__ = _swig_repr 9451 9452 def __init__(self, *args): 9453 r""" 9454 __init__(SBQueue self) -> SBQueue 9455 __init__(SBQueue self, SBQueue rhs) -> SBQueue 9456 """ 9457 _lldb.SBQueue_swiginit(self, _lldb.new_SBQueue(*args)) 9458 __swig_destroy__ = _lldb.delete_SBQueue 9459 9460 def __nonzero__(self): 9461 return _lldb.SBQueue___nonzero__(self) 9462 __bool__ = __nonzero__ 9463 9464 9465 9466 def IsValid(self): 9467 r"""IsValid(SBQueue self) -> bool""" 9468 return _lldb.SBQueue_IsValid(self) 9469 9470 def Clear(self): 9471 r"""Clear(SBQueue self)""" 9472 return _lldb.SBQueue_Clear(self) 9473 9474 def GetProcess(self): 9475 r"""GetProcess(SBQueue self) -> SBProcess""" 9476 return _lldb.SBQueue_GetProcess(self) 9477 9478 def GetQueueID(self): 9479 r""" 9480 GetQueueID(SBQueue self) -> lldb::queue_id_t 9481 9482 Returns an lldb::queue_id_t type unique identifier number for this 9483 queue that will not be used by any other queue during this process' 9484 execution. These ID numbers often start at 1 with the first 9485 system-created queues and increment from there. 9486 """ 9487 return _lldb.SBQueue_GetQueueID(self) 9488 9489 def GetName(self): 9490 r"""GetName(SBQueue self) -> char const *""" 9491 return _lldb.SBQueue_GetName(self) 9492 9493 def GetIndexID(self): 9494 r"""GetIndexID(SBQueue self) -> uint32_t""" 9495 return _lldb.SBQueue_GetIndexID(self) 9496 9497 def GetNumThreads(self): 9498 r"""GetNumThreads(SBQueue self) -> uint32_t""" 9499 return _lldb.SBQueue_GetNumThreads(self) 9500 9501 def GetThreadAtIndex(self, arg2): 9502 r"""GetThreadAtIndex(SBQueue self, uint32_t arg2) -> SBThread""" 9503 return _lldb.SBQueue_GetThreadAtIndex(self, arg2) 9504 9505 def GetNumPendingItems(self): 9506 r"""GetNumPendingItems(SBQueue self) -> uint32_t""" 9507 return _lldb.SBQueue_GetNumPendingItems(self) 9508 9509 def GetPendingItemAtIndex(self, arg2): 9510 r"""GetPendingItemAtIndex(SBQueue self, uint32_t arg2) -> SBQueueItem""" 9511 return _lldb.SBQueue_GetPendingItemAtIndex(self, arg2) 9512 9513 def GetNumRunningItems(self): 9514 r"""GetNumRunningItems(SBQueue self) -> uint32_t""" 9515 return _lldb.SBQueue_GetNumRunningItems(self) 9516 9517 def GetKind(self): 9518 r""" 9519 GetKind(SBQueue self) -> lldb::QueueKind 9520 9521 Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown, 9522 eQueueKindSerial, eQueueKindConcurrent) describing the type of this 9523 queue. 9524 """ 9525 return _lldb.SBQueue_GetKind(self) 9526 9527# Register SBQueue in _lldb: 9528_lldb.SBQueue_swigregister(SBQueue) 9529class SBQueueItem(object): 9530 r"""This class represents an item in an :py:class:`SBQueue`.""" 9531 9532 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9533 __repr__ = _swig_repr 9534 9535 def __init__(self): 9536 r"""__init__(SBQueueItem self) -> SBQueueItem""" 9537 _lldb.SBQueueItem_swiginit(self, _lldb.new_SBQueueItem()) 9538 __swig_destroy__ = _lldb.delete_SBQueueItem 9539 9540 def __nonzero__(self): 9541 return _lldb.SBQueueItem___nonzero__(self) 9542 __bool__ = __nonzero__ 9543 9544 9545 9546 def IsValid(self): 9547 r"""IsValid(SBQueueItem self) -> bool""" 9548 return _lldb.SBQueueItem_IsValid(self) 9549 9550 def Clear(self): 9551 r"""Clear(SBQueueItem self)""" 9552 return _lldb.SBQueueItem_Clear(self) 9553 9554 def GetKind(self): 9555 r"""GetKind(SBQueueItem self) -> lldb::QueueItemKind""" 9556 return _lldb.SBQueueItem_GetKind(self) 9557 9558 def SetKind(self, kind): 9559 r"""SetKind(SBQueueItem self, lldb::QueueItemKind kind)""" 9560 return _lldb.SBQueueItem_SetKind(self, kind) 9561 9562 def GetAddress(self): 9563 r"""GetAddress(SBQueueItem self) -> SBAddress""" 9564 return _lldb.SBQueueItem_GetAddress(self) 9565 9566 def SetAddress(self, addr): 9567 r"""SetAddress(SBQueueItem self, SBAddress addr)""" 9568 return _lldb.SBQueueItem_SetAddress(self, addr) 9569 9570 def GetExtendedBacktraceThread(self, type): 9571 r"""GetExtendedBacktraceThread(SBQueueItem self, char const * type) -> SBThread""" 9572 return _lldb.SBQueueItem_GetExtendedBacktraceThread(self, type) 9573 9574 def __hex__(self): 9575 return self.GetAddress() 9576 9577 9578# Register SBQueueItem in _lldb: 9579_lldb.SBQueueItem_swigregister(SBQueueItem) 9580class SBReproducer(object): 9581 r"""Controls LLDB's reproducer functionality.""" 9582 9583 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9584 __repr__ = _swig_repr 9585 9586 @staticmethod 9587 def Capture(path): 9588 r"""Capture(char const * path) -> char const *""" 9589 return _lldb.SBReproducer_Capture(path) 9590 9591 @staticmethod 9592 def PassiveReplay(path): 9593 r"""PassiveReplay(char const * path) -> char const *""" 9594 return _lldb.SBReproducer_PassiveReplay(path) 9595 9596 @staticmethod 9597 def SetAutoGenerate(b): 9598 r"""SetAutoGenerate(bool b) -> bool""" 9599 return _lldb.SBReproducer_SetAutoGenerate(b) 9600 9601 @staticmethod 9602 def SetWorkingDirectory(path): 9603 r"""SetWorkingDirectory(char const * path)""" 9604 return _lldb.SBReproducer_SetWorkingDirectory(path) 9605 9606 def __init__(self): 9607 r"""__init__(SBReproducer self) -> SBReproducer""" 9608 _lldb.SBReproducer_swiginit(self, _lldb.new_SBReproducer()) 9609 __swig_destroy__ = _lldb.delete_SBReproducer 9610 9611# Register SBReproducer in _lldb: 9612_lldb.SBReproducer_swigregister(SBReproducer) 9613class SBScriptObject(object): 9614 r"""Proxy of C++ lldb::SBScriptObject class.""" 9615 9616 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9617 __repr__ = _swig_repr 9618 9619 def __init__(self, *args): 9620 r""" 9621 __init__(SBScriptObject self, lldb::ScriptObjectPtr const ptr, lldb::ScriptLanguage lang) -> SBScriptObject 9622 __init__(SBScriptObject self, SBScriptObject rhs) -> SBScriptObject 9623 """ 9624 _lldb.SBScriptObject_swiginit(self, _lldb.new_SBScriptObject(*args)) 9625 __swig_destroy__ = _lldb.delete_SBScriptObject 9626 9627 def __nonzero__(self): 9628 return _lldb.SBScriptObject___nonzero__(self) 9629 __bool__ = __nonzero__ 9630 9631 9632 9633 def __ne__(self, rhs): 9634 r"""__ne__(SBScriptObject self, SBScriptObject rhs) -> bool""" 9635 return _lldb.SBScriptObject___ne__(self, rhs) 9636 9637 def IsValid(self): 9638 r"""IsValid(SBScriptObject self) -> bool""" 9639 return _lldb.SBScriptObject_IsValid(self) 9640 9641 def GetPointer(self): 9642 r"""GetPointer(SBScriptObject self) -> lldb::ScriptObjectPtr""" 9643 return _lldb.SBScriptObject_GetPointer(self) 9644 9645 def GetLanguage(self): 9646 r"""GetLanguage(SBScriptObject self) -> lldb::ScriptLanguage""" 9647 return _lldb.SBScriptObject_GetLanguage(self) 9648 9649 # operator== is a free function, which swig does not handle, so we inject 9650 # our own equality operator here 9651 def __eq__(self, other): 9652 return not self.__ne__(other) 9653 9654 ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''') 9655 lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''') 9656 9657 9658# Register SBScriptObject in _lldb: 9659_lldb.SBScriptObject_swigregister(SBScriptObject) 9660class SBSection(object): 9661 r""" 9662 Represents an executable image section. 9663 9664 SBSection supports iteration through its subsection, represented as SBSection 9665 as well. For example, :: 9666 9667 for sec in exe_module: 9668 if sec.GetName() == '__TEXT': 9669 print sec 9670 break 9671 print INDENT + 'Number of subsections: %d' % sec.GetNumSubSections() 9672 for subsec in sec: 9673 print INDENT + repr(subsec) 9674 9675 produces: :: 9676 9677 [0x0000000100000000-0x0000000100002000) a.out.__TEXT 9678 Number of subsections: 6 9679 [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text 9680 [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs 9681 [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper 9682 [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring 9683 [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info 9684 [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame 9685 9686 See also :py:class:`SBModule` . 9687 """ 9688 9689 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9690 9691 def __init__(self, *args): 9692 r""" 9693 __init__(SBSection self) -> SBSection 9694 __init__(SBSection self, SBSection rhs) -> SBSection 9695 """ 9696 _lldb.SBSection_swiginit(self, _lldb.new_SBSection(*args)) 9697 __swig_destroy__ = _lldb.delete_SBSection 9698 9699 def __nonzero__(self): 9700 return _lldb.SBSection___nonzero__(self) 9701 __bool__ = __nonzero__ 9702 9703 9704 9705 def IsValid(self): 9706 r"""IsValid(SBSection self) -> bool""" 9707 return _lldb.SBSection_IsValid(self) 9708 9709 def GetName(self): 9710 r"""GetName(SBSection self) -> char const *""" 9711 return _lldb.SBSection_GetName(self) 9712 9713 def GetParent(self): 9714 r"""GetParent(SBSection self) -> SBSection""" 9715 return _lldb.SBSection_GetParent(self) 9716 9717 def FindSubSection(self, sect_name): 9718 r"""FindSubSection(SBSection self, char const * sect_name) -> SBSection""" 9719 return _lldb.SBSection_FindSubSection(self, sect_name) 9720 9721 def GetNumSubSections(self): 9722 r"""GetNumSubSections(SBSection self) -> size_t""" 9723 return _lldb.SBSection_GetNumSubSections(self) 9724 9725 def GetSubSectionAtIndex(self, idx): 9726 r"""GetSubSectionAtIndex(SBSection self, size_t idx) -> SBSection""" 9727 return _lldb.SBSection_GetSubSectionAtIndex(self, idx) 9728 9729 def GetFileAddress(self): 9730 r"""GetFileAddress(SBSection self) -> lldb::addr_t""" 9731 return _lldb.SBSection_GetFileAddress(self) 9732 9733 def GetLoadAddress(self, target): 9734 r"""GetLoadAddress(SBSection self, SBTarget target) -> lldb::addr_t""" 9735 return _lldb.SBSection_GetLoadAddress(self, target) 9736 9737 def GetByteSize(self): 9738 r"""GetByteSize(SBSection self) -> lldb::addr_t""" 9739 return _lldb.SBSection_GetByteSize(self) 9740 9741 def GetFileOffset(self): 9742 r"""GetFileOffset(SBSection self) -> uint64_t""" 9743 return _lldb.SBSection_GetFileOffset(self) 9744 9745 def GetFileByteSize(self): 9746 r"""GetFileByteSize(SBSection self) -> uint64_t""" 9747 return _lldb.SBSection_GetFileByteSize(self) 9748 9749 def GetSectionData(self, *args): 9750 r""" 9751 GetSectionData(SBSection self) -> SBData 9752 GetSectionData(SBSection self, uint64_t offset, uint64_t size) -> SBData 9753 """ 9754 return _lldb.SBSection_GetSectionData(self, *args) 9755 9756 def GetSectionType(self): 9757 r"""GetSectionType(SBSection self) -> lldb::SectionType""" 9758 return _lldb.SBSection_GetSectionType(self) 9759 9760 def GetPermissions(self): 9761 r"""GetPermissions(SBSection self) -> uint32_t""" 9762 return _lldb.SBSection_GetPermissions(self) 9763 9764 def GetTargetByteSize(self): 9765 r""" 9766 GetTargetByteSize(SBSection self) -> uint32_t 9767 9768 Return the size of a target's byte represented by this section 9769 in numbers of host bytes. Note that certain architectures have 9770 varying minimum addressable unit (i.e. byte) size for their 9771 CODE or DATA buses. 9772 9773 @return 9774 The number of host (8-bit) bytes needed to hold a target byte 9775 """ 9776 return _lldb.SBSection_GetTargetByteSize(self) 9777 9778 def GetAlignment(self): 9779 r"""GetAlignment(SBSection self) -> uint32_t""" 9780 return _lldb.SBSection_GetAlignment(self) 9781 9782 def __eq__(self, rhs): 9783 r"""__eq__(SBSection self, SBSection rhs) -> bool""" 9784 return _lldb.SBSection___eq__(self, rhs) 9785 9786 def __ne__(self, rhs): 9787 r"""__ne__(SBSection self, SBSection rhs) -> bool""" 9788 return _lldb.SBSection___ne__(self, rhs) 9789 9790 def GetDescription(self, description): 9791 r"""GetDescription(SBSection self, SBStream description) -> bool""" 9792 return _lldb.SBSection_GetDescription(self, description) 9793 9794 def __repr__(self): 9795 r"""__repr__(SBSection self) -> std::string""" 9796 return _lldb.SBSection___repr__(self) 9797 9798 # operator== is a free function, which swig does not handle, so we inject 9799 # our own equality operator here 9800 def __eq__(self, other): 9801 return not self.__ne__(other) 9802 9803 def __iter__(self): 9804 '''Iterate over all subsections in a lldb.SBSection object.''' 9805 return lldb_iter(self, 'GetNumSubSections', 'GetSubSectionAtIndex') 9806 9807 def __len__(self): 9808 '''Return the number of subsections in a lldb.SBSection object.''' 9809 return self.GetNumSubSections() 9810 9811 def get_addr(self): 9812 return SBAddress(self, 0) 9813 9814 name = property(GetName, None, doc='''A read only property that returns the name of this section as a string.''') 9815 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.''') 9816 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.''') 9817 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this section as an integer.''') 9818 file_offset = property(GetFileOffset, None, doc='''A read only property that returns the file offset in bytes of this section as an integer.''') 9819 file_size = property(GetFileByteSize, None, doc='''A read only property that returns the file size in bytes of this section as an integer.''') 9820 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.''') 9821 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.).''') 9822 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.''') 9823 alignment = property(GetAlignment, None, doc='''A read only property that returns the alignment of this section as a number of host bytes.''') 9824 9825 9826 def __eq__(self, rhs): 9827 if not isinstance(rhs, type(self)): 9828 return False 9829 9830 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 9831 9832 def __ne__(self, rhs): 9833 if not isinstance(rhs, type(self)): 9834 return True 9835 9836 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 9837 9838 9839# Register SBSection in _lldb: 9840_lldb.SBSection_swigregister(SBSection) 9841class SBSourceManager(object): 9842 r""" 9843 Represents a central authority for displaying source code. 9844 9845 For example (from test/source-manager/TestSourceManager.py), :: 9846 9847 # Create the filespec for 'main.c'. 9848 filespec = lldb.SBFileSpec('main.c', False) 9849 source_mgr = self.dbg.GetSourceManager() 9850 # Use a string stream as the destination. 9851 stream = lldb.SBStream() 9852 source_mgr.DisplaySourceLinesWithLineNumbers(filespec, 9853 self.line, 9854 2, # context before 9855 2, # context after 9856 '=>', # prefix for current line 9857 stream) 9858 9859 # 2 9860 # 3 int main(int argc, char const *argv[]) { 9861 # => 4 printf('Hello world.\n'); // Set break point at this line. 9862 # 5 return 0; 9863 # 6 } 9864 self.expect(stream.GetData(), 'Source code displayed correctly', 9865 exe=False, 9866 patterns = ['=> %d.*Hello world' % self.line]) 9867 """ 9868 9869 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9870 __repr__ = _swig_repr 9871 9872 def __init__(self, *args): 9873 r""" 9874 __init__(SBSourceManager self, SBDebugger debugger) -> SBSourceManager 9875 __init__(SBSourceManager self, SBTarget target) -> SBSourceManager 9876 __init__(SBSourceManager self, SBSourceManager rhs) -> SBSourceManager 9877 """ 9878 _lldb.SBSourceManager_swiginit(self, _lldb.new_SBSourceManager(*args)) 9879 __swig_destroy__ = _lldb.delete_SBSourceManager 9880 9881 def DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s): 9882 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""" 9883 return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s) 9884 9885 def DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s): 9886 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""" 9887 return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s) 9888 9889# Register SBSourceManager in _lldb: 9890_lldb.SBSourceManager_swigregister(SBSourceManager) 9891class SBStatisticsOptions(object): 9892 r"""A container for options to use when dumping statistics.""" 9893 9894 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9895 __repr__ = _swig_repr 9896 9897 def __init__(self, *args): 9898 r""" 9899 __init__(SBStatisticsOptions self) -> SBStatisticsOptions 9900 __init__(SBStatisticsOptions self, SBStatisticsOptions rhs) -> SBStatisticsOptions 9901 """ 9902 _lldb.SBStatisticsOptions_swiginit(self, _lldb.new_SBStatisticsOptions(*args)) 9903 __swig_destroy__ = _lldb.delete_SBStatisticsOptions 9904 9905 def SetSummaryOnly(self, b): 9906 r""" 9907 SetSummaryOnly(SBStatisticsOptions self, bool b) 9908 Sets whether the statistics should only dump a summary. 9909 """ 9910 return _lldb.SBStatisticsOptions_SetSummaryOnly(self, b) 9911 9912 def GetSummaryOnly(self): 9913 r""" 9914 GetSummaryOnly(SBStatisticsOptions self) -> bool 9915 Gets whether the statistics only dump a summary. 9916 """ 9917 return _lldb.SBStatisticsOptions_GetSummaryOnly(self) 9918 9919 def SetReportAllAvailableDebugInfo(self, b): 9920 r""" 9921 SetReportAllAvailableDebugInfo(SBStatisticsOptions self, bool b) 9922 9923 Sets whether the statistics will force loading all possible debug info. 9924 """ 9925 return _lldb.SBStatisticsOptions_SetReportAllAvailableDebugInfo(self, b) 9926 9927 def GetReportAllAvailableDebugInfo(self): 9928 r""" 9929 GetReportAllAvailableDebugInfo(SBStatisticsOptions self) -> bool 9930 9931 Gets whether the statistics will force loading all possible debug info. 9932 """ 9933 return _lldb.SBStatisticsOptions_GetReportAllAvailableDebugInfo(self) 9934 9935# Register SBStatisticsOptions in _lldb: 9936_lldb.SBStatisticsOptions_swigregister(SBStatisticsOptions) 9937class SBStream(object): 9938 r""" 9939 Represents a destination for streaming data output to. By default, a string 9940 stream is created. 9941 9942 For example (from test/source-manager/TestSourceManager.py), :: 9943 9944 # Create the filespec for 'main.c'. 9945 filespec = lldb.SBFileSpec('main.c', False) 9946 source_mgr = self.dbg.GetSourceManager() 9947 # Use a string stream as the destination. 9948 stream = lldb.SBStream() 9949 source_mgr.DisplaySourceLinesWithLineNumbers(filespec, 9950 self.line, 9951 2, # context before 9952 2, # context after 9953 '=>', # prefix for current line 9954 stream) 9955 9956 # 2 9957 # 3 int main(int argc, char const *argv[]) { 9958 # => 4 printf('Hello world.\n'); // Set break point at this line. 9959 # 5 return 0; 9960 # 6 } 9961 self.expect(stream.GetData(), 'Source code displayed correctly', 9962 exe=False, 9963 patterns = ['=> %d.*Hello world' % self.line]) 9964 """ 9965 9966 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 9967 __repr__ = _swig_repr 9968 9969 def __init__(self): 9970 r"""__init__(SBStream self) -> SBStream""" 9971 _lldb.SBStream_swiginit(self, _lldb.new_SBStream()) 9972 __swig_destroy__ = _lldb.delete_SBStream 9973 9974 def __nonzero__(self): 9975 return _lldb.SBStream___nonzero__(self) 9976 __bool__ = __nonzero__ 9977 9978 9979 9980 def IsValid(self): 9981 r"""IsValid(SBStream self) -> bool""" 9982 return _lldb.SBStream_IsValid(self) 9983 9984 def GetData(self): 9985 r""" 9986 GetData(SBStream self) -> char const * 9987 9988 If this stream is not redirected to a file, it will maintain a local 9989 cache for the stream data which can be accessed using this accessor. 9990 """ 9991 return _lldb.SBStream_GetData(self) 9992 9993 def GetSize(self): 9994 r""" 9995 GetSize(SBStream self) -> size_t 9996 9997 If this stream is not redirected to a file, it will maintain a local 9998 cache for the stream output whose length can be accessed using this 9999 accessor. 10000 """ 10001 return _lldb.SBStream_GetSize(self) 10002 10003 def Print(self, str): 10004 r"""Print(SBStream self, char const * str)""" 10005 return _lldb.SBStream_Print(self, str) 10006 10007 def RedirectToFile(self, *args): 10008 r""" 10009 RedirectToFile(SBStream self, char const * path, bool append) 10010 RedirectToFile(SBStream self, SBFile file) 10011 RedirectToFile(SBStream self, lldb::FileSP file) 10012 """ 10013 return _lldb.SBStream_RedirectToFile(self, *args) 10014 10015 def RedirectToFileDescriptor(self, fd, transfer_fh_ownership): 10016 r"""RedirectToFileDescriptor(SBStream self, int fd, bool transfer_fh_ownership)""" 10017 return _lldb.SBStream_RedirectToFileDescriptor(self, fd, transfer_fh_ownership) 10018 10019 def Clear(self): 10020 r""" 10021 Clear(SBStream self) 10022 10023 If the stream is redirected to a file, forget about the file and if 10024 ownership of the file was transferred to this object, close the file. 10025 If the stream is backed by a local cache, clear this cache. 10026 """ 10027 return _lldb.SBStream_Clear(self) 10028 10029 def __len__(self): 10030 return self.GetSize() 10031 10032 10033 def RedirectToFileHandle(self, file, transfer_fh_ownership): 10034 r"""DEPRECATED, use RedirectToFile""" 10035 return _lldb.SBStream_RedirectToFileHandle(self, file, transfer_fh_ownership) 10036 10037 def write(self, str): 10038 r"""write(SBStream self, char const * str)""" 10039 return _lldb.SBStream_write(self, str) 10040 10041 def flush(self): 10042 r"""flush(SBStream self)""" 10043 return _lldb.SBStream_flush(self) 10044 10045# Register SBStream in _lldb: 10046_lldb.SBStream_swigregister(SBStream) 10047class SBStringList(object): 10048 r"""Represents a list of strings.""" 10049 10050 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10051 __repr__ = _swig_repr 10052 10053 def __init__(self, *args): 10054 r""" 10055 __init__(SBStringList self) -> SBStringList 10056 __init__(SBStringList self, SBStringList rhs) -> SBStringList 10057 """ 10058 _lldb.SBStringList_swiginit(self, _lldb.new_SBStringList(*args)) 10059 __swig_destroy__ = _lldb.delete_SBStringList 10060 10061 def __nonzero__(self): 10062 return _lldb.SBStringList___nonzero__(self) 10063 __bool__ = __nonzero__ 10064 10065 10066 10067 def IsValid(self): 10068 r"""IsValid(SBStringList self) -> bool""" 10069 return _lldb.SBStringList_IsValid(self) 10070 10071 def AppendString(self, str): 10072 r"""AppendString(SBStringList self, char const * str)""" 10073 return _lldb.SBStringList_AppendString(self, str) 10074 10075 def AppendList(self, *args): 10076 r""" 10077 AppendList(SBStringList self, char const ** strv, int strc) 10078 AppendList(SBStringList self, SBStringList strings) 10079 """ 10080 return _lldb.SBStringList_AppendList(self, *args) 10081 10082 def GetSize(self): 10083 r"""GetSize(SBStringList self) -> uint32_t""" 10084 return _lldb.SBStringList_GetSize(self) 10085 10086 def GetStringAtIndex(self, *args): 10087 r""" 10088 GetStringAtIndex(SBStringList self, size_t idx) -> char const 10089 GetStringAtIndex(SBStringList self, size_t idx) -> char const * 10090 """ 10091 return _lldb.SBStringList_GetStringAtIndex(self, *args) 10092 10093 def Clear(self): 10094 r"""Clear(SBStringList self)""" 10095 return _lldb.SBStringList_Clear(self) 10096 10097 def __iter__(self): 10098 '''Iterate over all strings in a lldb.SBStringList object.''' 10099 return lldb_iter(self, 'GetSize', 'GetStringAtIndex') 10100 10101 def __len__(self): 10102 '''Return the number of strings in a lldb.SBStringList object.''' 10103 return self.GetSize() 10104 10105 10106# Register SBStringList in _lldb: 10107_lldb.SBStringList_swigregister(SBStringList) 10108class SBStructuredData(object): 10109 r""" 10110 A class representing a StructuredData event. 10111 10112 This class wraps the event type generated by StructuredData features. 10113 """ 10114 10115 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10116 10117 def __init__(self, *args): 10118 r""" 10119 __init__(SBStructuredData self) -> SBStructuredData 10120 __init__(SBStructuredData self, SBStructuredData rhs) -> SBStructuredData 10121 __init__(SBStructuredData self, SBScriptObject obj, SBDebugger debugger) -> SBStructuredData 10122 """ 10123 _lldb.SBStructuredData_swiginit(self, _lldb.new_SBStructuredData(*args)) 10124 __swig_destroy__ = _lldb.delete_SBStructuredData 10125 10126 def __nonzero__(self): 10127 return _lldb.SBStructuredData___nonzero__(self) 10128 __bool__ = __nonzero__ 10129 10130 10131 10132 def IsValid(self): 10133 r"""IsValid(SBStructuredData self) -> bool""" 10134 return _lldb.SBStructuredData_IsValid(self) 10135 10136 def SetFromJSON(self, *args): 10137 r""" 10138 SetFromJSON(SBStructuredData self, SBStream stream) -> SBError 10139 SetFromJSON(SBStructuredData self, char const * json) -> SBError 10140 """ 10141 return _lldb.SBStructuredData_SetFromJSON(self, *args) 10142 10143 def Clear(self): 10144 r"""Clear(SBStructuredData self)""" 10145 return _lldb.SBStructuredData_Clear(self) 10146 10147 def GetAsJSON(self, stream): 10148 r"""GetAsJSON(SBStructuredData self, SBStream stream) -> SBError""" 10149 return _lldb.SBStructuredData_GetAsJSON(self, stream) 10150 10151 def GetDescription(self, stream): 10152 r"""GetDescription(SBStructuredData self, SBStream stream) -> SBError""" 10153 return _lldb.SBStructuredData_GetDescription(self, stream) 10154 10155 def GetType(self): 10156 r"""GetType(SBStructuredData self) -> lldb::StructuredDataType""" 10157 return _lldb.SBStructuredData_GetType(self) 10158 10159 def GetSize(self): 10160 r"""GetSize(SBStructuredData self) -> size_t""" 10161 return _lldb.SBStructuredData_GetSize(self) 10162 10163 def GetKeys(self, keys): 10164 r"""GetKeys(SBStructuredData self, SBStringList keys) -> bool""" 10165 return _lldb.SBStructuredData_GetKeys(self, keys) 10166 10167 def GetValueForKey(self, key): 10168 r"""GetValueForKey(SBStructuredData self, char const * key) -> SBStructuredData""" 10169 return _lldb.SBStructuredData_GetValueForKey(self, key) 10170 10171 def GetItemAtIndex(self, idx): 10172 r"""GetItemAtIndex(SBStructuredData self, size_t idx) -> SBStructuredData""" 10173 return _lldb.SBStructuredData_GetItemAtIndex(self, idx) 10174 10175 def GetUnsignedIntegerValue(self, fail_value=0): 10176 r"""GetUnsignedIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t""" 10177 return _lldb.SBStructuredData_GetUnsignedIntegerValue(self, fail_value) 10178 10179 def GetSignedIntegerValue(self, fail_value=0): 10180 r"""GetSignedIntegerValue(SBStructuredData self, int64_t fail_value=0) -> int64_t""" 10181 return _lldb.SBStructuredData_GetSignedIntegerValue(self, fail_value) 10182 10183 def GetIntegerValue(self, fail_value=0): 10184 r"""GetIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t""" 10185 return _lldb.SBStructuredData_GetIntegerValue(self, fail_value) 10186 10187 def GetFloatValue(self, fail_value=0.0): 10188 r"""GetFloatValue(SBStructuredData self, double fail_value=0.0) -> double""" 10189 return _lldb.SBStructuredData_GetFloatValue(self, fail_value) 10190 10191 def GetBooleanValue(self, fail_value=False): 10192 r"""GetBooleanValue(SBStructuredData self, bool fail_value=False) -> bool""" 10193 return _lldb.SBStructuredData_GetBooleanValue(self, fail_value) 10194 10195 def GetStringValue(self, dst): 10196 r"""GetStringValue(SBStructuredData self, char * dst) -> size_t""" 10197 return _lldb.SBStructuredData_GetStringValue(self, dst) 10198 10199 def GetGenericValue(self): 10200 r"""GetGenericValue(SBStructuredData self) -> SBScriptObject""" 10201 return _lldb.SBStructuredData_GetGenericValue(self) 10202 10203 def __repr__(self): 10204 r"""__repr__(SBStructuredData self) -> std::string""" 10205 return _lldb.SBStructuredData___repr__(self) 10206 10207 def __int__(self): 10208 return self.GetSignedInteger() 10209 10210 def __len__(self): 10211 '''Return the number of element in a lldb.SBStructuredData object.''' 10212 return self.GetSize() 10213 10214 def __iter__(self): 10215 '''Iterate over all the elements in a lldb.SBStructuredData object.''' 10216 return lldb_iter(self, 'GetSize', 'GetItemAtIndex') 10217 10218 10219# Register SBStructuredData in _lldb: 10220_lldb.SBStructuredData_swigregister(SBStructuredData) 10221class SBSymbol(object): 10222 r""" 10223 Represents the symbol possibly associated with a stack frame. 10224 :py:class:`SBModule` contains SBSymbol(s). SBSymbol can also be retrieved from :py:class:`SBFrame` . 10225 """ 10226 10227 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10228 __swig_destroy__ = _lldb.delete_SBSymbol 10229 10230 def __init__(self, *args): 10231 r""" 10232 __init__(SBSymbol self) -> SBSymbol 10233 __init__(SBSymbol self, SBSymbol rhs) -> SBSymbol 10234 """ 10235 _lldb.SBSymbol_swiginit(self, _lldb.new_SBSymbol(*args)) 10236 10237 def __nonzero__(self): 10238 return _lldb.SBSymbol___nonzero__(self) 10239 __bool__ = __nonzero__ 10240 10241 10242 10243 def IsValid(self): 10244 r"""IsValid(SBSymbol self) -> bool""" 10245 return _lldb.SBSymbol_IsValid(self) 10246 10247 def GetName(self): 10248 r"""GetName(SBSymbol self) -> char const *""" 10249 return _lldb.SBSymbol_GetName(self) 10250 10251 def GetDisplayName(self): 10252 r"""GetDisplayName(SBSymbol self) -> char const *""" 10253 return _lldb.SBSymbol_GetDisplayName(self) 10254 10255 def GetMangledName(self): 10256 r"""GetMangledName(SBSymbol self) -> char const *""" 10257 return _lldb.SBSymbol_GetMangledName(self) 10258 10259 def GetInstructions(self, *args): 10260 r""" 10261 GetInstructions(SBSymbol self, SBTarget target) -> SBInstructionList 10262 GetInstructions(SBSymbol self, SBTarget target, char const * flavor_string) -> SBInstructionList 10263 """ 10264 return _lldb.SBSymbol_GetInstructions(self, *args) 10265 10266 def GetStartAddress(self): 10267 r"""GetStartAddress(SBSymbol self) -> SBAddress""" 10268 return _lldb.SBSymbol_GetStartAddress(self) 10269 10270 def GetEndAddress(self): 10271 r"""GetEndAddress(SBSymbol self) -> SBAddress""" 10272 return _lldb.SBSymbol_GetEndAddress(self) 10273 10274 def GetValue(self): 10275 r"""GetValue(SBSymbol self) -> uint64_t""" 10276 return _lldb.SBSymbol_GetValue(self) 10277 10278 def GetSize(self): 10279 r"""GetSize(SBSymbol self) -> uint64_t""" 10280 return _lldb.SBSymbol_GetSize(self) 10281 10282 def GetPrologueByteSize(self): 10283 r"""GetPrologueByteSize(SBSymbol self) -> uint32_t""" 10284 return _lldb.SBSymbol_GetPrologueByteSize(self) 10285 10286 def GetType(self): 10287 r"""GetType(SBSymbol self) -> lldb::SymbolType""" 10288 return _lldb.SBSymbol_GetType(self) 10289 10290 def __eq__(self, rhs): 10291 r"""__eq__(SBSymbol self, SBSymbol rhs) -> bool""" 10292 return _lldb.SBSymbol___eq__(self, rhs) 10293 10294 def __ne__(self, rhs): 10295 r"""__ne__(SBSymbol self, SBSymbol rhs) -> bool""" 10296 return _lldb.SBSymbol___ne__(self, rhs) 10297 10298 def GetDescription(self, description): 10299 r"""GetDescription(SBSymbol self, SBStream description) -> bool""" 10300 return _lldb.SBSymbol_GetDescription(self, description) 10301 10302 def IsExternal(self): 10303 r"""IsExternal(SBSymbol self) -> bool""" 10304 return _lldb.SBSymbol_IsExternal(self) 10305 10306 def IsSynthetic(self): 10307 r"""IsSynthetic(SBSymbol self) -> bool""" 10308 return _lldb.SBSymbol_IsSynthetic(self) 10309 10310 def __repr__(self): 10311 r"""__repr__(SBSymbol self) -> std::string""" 10312 return _lldb.SBSymbol___repr__(self) 10313 10314 # operator== is a free function, which swig does not handle, so we inject 10315 # our own equality operator here 10316 def __eq__(self, other): 10317 return not self.__ne__(other) 10318 10319 def __hex__(self): 10320 return self.GetStartAddress() 10321 10322 def get_instructions_from_current_target (self): 10323 return self.GetInstructions (target) 10324 10325 name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''') 10326 mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''') 10327 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.''') 10328 addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this symbol.''') 10329 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.''') 10330 prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''') 10331 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.''') 10332 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.''') 10333 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.''') 10334 10335 10336 def __eq__(self, rhs): 10337 if not isinstance(rhs, type(self)): 10338 return False 10339 10340 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 10341 10342 def __ne__(self, rhs): 10343 if not isinstance(rhs, type(self)): 10344 return True 10345 10346 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 10347 10348 10349# Register SBSymbol in _lldb: 10350_lldb.SBSymbol_swigregister(SBSymbol) 10351class SBSymbolContext(object): 10352 r""" 10353 A context object that provides access to core debugger entities. 10354 10355 Many debugger functions require a context when doing lookups. This class 10356 provides a common structure that can be used as the result of a query that 10357 can contain a single result. 10358 10359 For example, :: 10360 10361 exe = os.path.join(os.getcwd(), 'a.out') 10362 10363 # Create a target for the debugger. 10364 target = self.dbg.CreateTarget(exe) 10365 10366 # Now create a breakpoint on main.c by name 'c'. 10367 breakpoint = target.BreakpointCreateByName('c', 'a.out') 10368 10369 # Now launch the process, and do not stop at entry point. 10370 process = target.LaunchSimple(None, None, os.getcwd()) 10371 10372 # The inferior should stop on 'c'. 10373 from lldbutil import get_stopped_thread 10374 thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint) 10375 frame0 = thread.GetFrameAtIndex(0) 10376 10377 # Now get the SBSymbolContext from this frame. We want everything. :-) 10378 context = frame0.GetSymbolContext(lldb.eSymbolContextEverything) 10379 10380 # Get the module. 10381 module = context.GetModule() 10382 ... 10383 10384 # And the compile unit associated with the frame. 10385 compileUnit = context.GetCompileUnit() 10386 ... 10387 10388 """ 10389 10390 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10391 10392 def __init__(self, *args): 10393 r""" 10394 __init__(SBSymbolContext self) -> SBSymbolContext 10395 __init__(SBSymbolContext self, SBSymbolContext rhs) -> SBSymbolContext 10396 """ 10397 _lldb.SBSymbolContext_swiginit(self, _lldb.new_SBSymbolContext(*args)) 10398 __swig_destroy__ = _lldb.delete_SBSymbolContext 10399 10400 def __nonzero__(self): 10401 return _lldb.SBSymbolContext___nonzero__(self) 10402 __bool__ = __nonzero__ 10403 10404 10405 10406 def IsValid(self): 10407 r"""IsValid(SBSymbolContext self) -> bool""" 10408 return _lldb.SBSymbolContext_IsValid(self) 10409 10410 def GetModule(self): 10411 r"""GetModule(SBSymbolContext self) -> SBModule""" 10412 return _lldb.SBSymbolContext_GetModule(self) 10413 10414 def GetCompileUnit(self): 10415 r"""GetCompileUnit(SBSymbolContext self) -> SBCompileUnit""" 10416 return _lldb.SBSymbolContext_GetCompileUnit(self) 10417 10418 def GetFunction(self): 10419 r"""GetFunction(SBSymbolContext self) -> SBFunction""" 10420 return _lldb.SBSymbolContext_GetFunction(self) 10421 10422 def GetBlock(self): 10423 r"""GetBlock(SBSymbolContext self) -> SBBlock""" 10424 return _lldb.SBSymbolContext_GetBlock(self) 10425 10426 def GetLineEntry(self): 10427 r"""GetLineEntry(SBSymbolContext self) -> SBLineEntry""" 10428 return _lldb.SBSymbolContext_GetLineEntry(self) 10429 10430 def GetSymbol(self): 10431 r"""GetSymbol(SBSymbolContext self) -> SBSymbol""" 10432 return _lldb.SBSymbolContext_GetSymbol(self) 10433 10434 def SetModule(self, module): 10435 r"""SetModule(SBSymbolContext self, SBModule module)""" 10436 return _lldb.SBSymbolContext_SetModule(self, module) 10437 10438 def SetCompileUnit(self, compile_unit): 10439 r"""SetCompileUnit(SBSymbolContext self, SBCompileUnit compile_unit)""" 10440 return _lldb.SBSymbolContext_SetCompileUnit(self, compile_unit) 10441 10442 def SetFunction(self, function): 10443 r"""SetFunction(SBSymbolContext self, SBFunction function)""" 10444 return _lldb.SBSymbolContext_SetFunction(self, function) 10445 10446 def SetBlock(self, block): 10447 r"""SetBlock(SBSymbolContext self, SBBlock block)""" 10448 return _lldb.SBSymbolContext_SetBlock(self, block) 10449 10450 def SetLineEntry(self, line_entry): 10451 r"""SetLineEntry(SBSymbolContext self, SBLineEntry line_entry)""" 10452 return _lldb.SBSymbolContext_SetLineEntry(self, line_entry) 10453 10454 def SetSymbol(self, symbol): 10455 r"""SetSymbol(SBSymbolContext self, SBSymbol symbol)""" 10456 return _lldb.SBSymbolContext_SetSymbol(self, symbol) 10457 10458 def GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr): 10459 r"""GetParentOfInlinedScope(SBSymbolContext self, SBAddress curr_frame_pc, SBAddress parent_frame_addr) -> SBSymbolContext""" 10460 return _lldb.SBSymbolContext_GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr) 10461 10462 def GetDescription(self, description): 10463 r"""GetDescription(SBSymbolContext self, SBStream description) -> bool""" 10464 return _lldb.SBSymbolContext_GetDescription(self, description) 10465 10466 def __repr__(self): 10467 r"""__repr__(SBSymbolContext self) -> std::string""" 10468 return _lldb.SBSymbolContext___repr__(self) 10469 10470 module = property(GetModule, SetModule, doc='''A read/write property that allows the getting/setting of the module (lldb.SBModule) in this symbol context.''') 10471 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.''') 10472 function = property(GetFunction, SetFunction, doc='''A read/write property that allows the getting/setting of the function (lldb.SBFunction) in this symbol context.''') 10473 block = property(GetBlock, SetBlock, doc='''A read/write property that allows the getting/setting of the block (lldb.SBBlock) in this symbol context.''') 10474 symbol = property(GetSymbol, SetSymbol, doc='''A read/write property that allows the getting/setting of the symbol (lldb.SBSymbol) in this symbol context.''') 10475 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.''') 10476 10477 10478# Register SBSymbolContext in _lldb: 10479_lldb.SBSymbolContext_swigregister(SBSymbolContext) 10480class SBSymbolContextList(object): 10481 r""" 10482 Represents a list of symbol context object. See also SBSymbolContext. 10483 10484 For example (from test/python_api/target/TestTargetAPI.py), :: 10485 10486 def find_functions(self, exe_name): 10487 '''Exercise SBTarget.FindFunctions() API.''' 10488 exe = os.path.join(os.getcwd(), exe_name) 10489 10490 # Create a target by the debugger. 10491 target = self.dbg.CreateTarget(exe) 10492 self.assertTrue(target, VALID_TARGET) 10493 10494 list = lldb.SBSymbolContextList() 10495 num = target.FindFunctions('c', lldb.eFunctionNameTypeAuto, False, list) 10496 self.assertTrue(num == 1 and list.GetSize() == 1) 10497 10498 for sc in list: 10499 self.assertTrue(sc.GetModule().GetFileSpec().GetFilename() == exe_name) 10500 self.assertTrue(sc.GetSymbol().GetName() == 'c') 10501 """ 10502 10503 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10504 10505 def __init__(self, *args): 10506 r""" 10507 __init__(SBSymbolContextList self) -> SBSymbolContextList 10508 __init__(SBSymbolContextList self, SBSymbolContextList rhs) -> SBSymbolContextList 10509 """ 10510 _lldb.SBSymbolContextList_swiginit(self, _lldb.new_SBSymbolContextList(*args)) 10511 __swig_destroy__ = _lldb.delete_SBSymbolContextList 10512 10513 def __nonzero__(self): 10514 return _lldb.SBSymbolContextList___nonzero__(self) 10515 __bool__ = __nonzero__ 10516 10517 10518 10519 def IsValid(self): 10520 r"""IsValid(SBSymbolContextList self) -> bool""" 10521 return _lldb.SBSymbolContextList_IsValid(self) 10522 10523 def GetSize(self): 10524 r"""GetSize(SBSymbolContextList self) -> uint32_t""" 10525 return _lldb.SBSymbolContextList_GetSize(self) 10526 10527 def GetContextAtIndex(self, idx): 10528 r"""GetContextAtIndex(SBSymbolContextList self, uint32_t idx) -> SBSymbolContext""" 10529 return _lldb.SBSymbolContextList_GetContextAtIndex(self, idx) 10530 10531 def GetDescription(self, description): 10532 r"""GetDescription(SBSymbolContextList self, SBStream description) -> bool""" 10533 return _lldb.SBSymbolContextList_GetDescription(self, description) 10534 10535 def Append(self, *args): 10536 r""" 10537 Append(SBSymbolContextList self, SBSymbolContext sc) 10538 Append(SBSymbolContextList self, SBSymbolContextList sc_list) 10539 """ 10540 return _lldb.SBSymbolContextList_Append(self, *args) 10541 10542 def Clear(self): 10543 r"""Clear(SBSymbolContextList self)""" 10544 return _lldb.SBSymbolContextList_Clear(self) 10545 10546 def __repr__(self): 10547 r"""__repr__(SBSymbolContextList self) -> std::string""" 10548 return _lldb.SBSymbolContextList___repr__(self) 10549 10550 def __iter__(self): 10551 '''Iterate over all symbol contexts in a lldb.SBSymbolContextList 10552 object.''' 10553 return lldb_iter(self, 'GetSize', 'GetContextAtIndex') 10554 10555 def __len__(self): 10556 return int(self.GetSize()) 10557 10558 def __getitem__(self, key): 10559 count = len(self) 10560 if isinstance(key, int): 10561 if -count <= key < count: 10562 key %= count 10563 return self.GetContextAtIndex(key) 10564 else: 10565 raise IndexError 10566 raise TypeError 10567 10568 def get_module_array(self): 10569 a = [] 10570 for i in range(len(self)): 10571 obj = self.GetContextAtIndex(i).module 10572 if obj: 10573 a.append(obj) 10574 return a 10575 10576 def get_compile_unit_array(self): 10577 a = [] 10578 for i in range(len(self)): 10579 obj = self.GetContextAtIndex(i).compile_unit 10580 if obj: 10581 a.append(obj) 10582 return a 10583 def get_function_array(self): 10584 a = [] 10585 for i in range(len(self)): 10586 obj = self.GetContextAtIndex(i).function 10587 if obj: 10588 a.append(obj) 10589 return a 10590 def get_block_array(self): 10591 a = [] 10592 for i in range(len(self)): 10593 obj = self.GetContextAtIndex(i).block 10594 if obj: 10595 a.append(obj) 10596 return a 10597 def get_symbol_array(self): 10598 a = [] 10599 for i in range(len(self)): 10600 obj = self.GetContextAtIndex(i).symbol 10601 if obj: 10602 a.append(obj) 10603 return a 10604 def get_line_entry_array(self): 10605 a = [] 10606 for i in range(len(self)): 10607 obj = self.GetContextAtIndex(i).line_entry 10608 if obj: 10609 a.append(obj) 10610 return a 10611 10612 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.''') 10613 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.''') 10614 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.''') 10615 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.''') 10616 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.''') 10617 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.''') 10618 10619 10620# Register SBSymbolContextList in _lldb: 10621_lldb.SBSymbolContextList_swigregister(SBSymbolContextList) 10622class SBTarget(object): 10623 r""" 10624 Represents the target program running under the debugger. 10625 10626 SBTarget supports module, breakpoint, and watchpoint iterations. For example, :: 10627 10628 for m in target.module_iter(): 10629 print m 10630 10631 produces: :: 10632 10633 (x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out 10634 (x86_64) /usr/lib/dyld 10635 (x86_64) /usr/lib/libstdc++.6.dylib 10636 (x86_64) /usr/lib/libSystem.B.dylib 10637 (x86_64) /usr/lib/system/libmathCommon.A.dylib 10638 (x86_64) /usr/lib/libSystem.B.dylib(__commpage) 10639 10640 and, :: 10641 10642 for b in target.breakpoint_iter(): 10643 print b 10644 10645 produces: :: 10646 10647 SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1 10648 SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1 10649 10650 and, :: 10651 10652 for wp_loc in target.watchpoint_iter(): 10653 print wp_loc 10654 10655 produces: :: 10656 10657 Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw 10658 declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12' 10659 hit_count = 2 ignore_count = 0 10660 """ 10661 10662 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 10663 eBroadcastBitBreakpointChanged = _lldb.SBTarget_eBroadcastBitBreakpointChanged 10664 10665 eBroadcastBitModulesLoaded = _lldb.SBTarget_eBroadcastBitModulesLoaded 10666 10667 eBroadcastBitModulesUnloaded = _lldb.SBTarget_eBroadcastBitModulesUnloaded 10668 10669 eBroadcastBitWatchpointChanged = _lldb.SBTarget_eBroadcastBitWatchpointChanged 10670 10671 eBroadcastBitSymbolsLoaded = _lldb.SBTarget_eBroadcastBitSymbolsLoaded 10672 10673 eBroadcastBitSymbolsChanged = _lldb.SBTarget_eBroadcastBitSymbolsChanged 10674 10675 10676 def __init__(self, *args): 10677 r""" 10678 __init__(SBTarget self) -> SBTarget 10679 __init__(SBTarget self, SBTarget rhs) -> SBTarget 10680 """ 10681 _lldb.SBTarget_swiginit(self, _lldb.new_SBTarget(*args)) 10682 __swig_destroy__ = _lldb.delete_SBTarget 10683 10684 def __nonzero__(self): 10685 return _lldb.SBTarget___nonzero__(self) 10686 __bool__ = __nonzero__ 10687 10688 10689 10690 def IsValid(self): 10691 r"""IsValid(SBTarget self) -> bool""" 10692 return _lldb.SBTarget_IsValid(self) 10693 10694 @staticmethod 10695 def EventIsTargetEvent(event): 10696 r"""EventIsTargetEvent(SBEvent event) -> bool""" 10697 return _lldb.SBTarget_EventIsTargetEvent(event) 10698 10699 @staticmethod 10700 def GetTargetFromEvent(event): 10701 r"""GetTargetFromEvent(SBEvent event) -> SBTarget""" 10702 return _lldb.SBTarget_GetTargetFromEvent(event) 10703 10704 @staticmethod 10705 def GetNumModulesFromEvent(event): 10706 r"""GetNumModulesFromEvent(SBEvent event) -> uint32_t""" 10707 return _lldb.SBTarget_GetNumModulesFromEvent(event) 10708 10709 @staticmethod 10710 def GetModuleAtIndexFromEvent(idx, event): 10711 r"""GetModuleAtIndexFromEvent(uint32_t const idx, SBEvent event) -> SBModule""" 10712 return _lldb.SBTarget_GetModuleAtIndexFromEvent(idx, event) 10713 10714 @staticmethod 10715 def GetBroadcasterClassName(): 10716 r"""GetBroadcasterClassName() -> char const *""" 10717 return _lldb.SBTarget_GetBroadcasterClassName() 10718 10719 def GetProcess(self): 10720 r"""GetProcess(SBTarget self) -> SBProcess""" 10721 return _lldb.SBTarget_GetProcess(self) 10722 10723 def SetCollectingStats(self, v): 10724 r"""SetCollectingStats(SBTarget self, bool v)""" 10725 return _lldb.SBTarget_SetCollectingStats(self, v) 10726 10727 def GetCollectingStats(self): 10728 r"""GetCollectingStats(SBTarget self) -> bool""" 10729 return _lldb.SBTarget_GetCollectingStats(self) 10730 10731 def GetStatistics(self, *args): 10732 r""" 10733 GetStatistics(SBTarget self) -> SBStructuredData 10734 GetStatistics(SBTarget self, SBStatisticsOptions options) -> SBStructuredData 10735 """ 10736 return _lldb.SBTarget_GetStatistics(self, *args) 10737 10738 def GetPlatform(self): 10739 r""" 10740 GetPlatform(SBTarget self) -> SBPlatform 10741 10742 Return the platform object associated with the target. 10743 10744 After return, the platform object should be checked for 10745 validity. 10746 10747 @return 10748 A platform object. 10749 """ 10750 return _lldb.SBTarget_GetPlatform(self) 10751 10752 def GetEnvironment(self): 10753 r"""GetEnvironment(SBTarget self) -> SBEnvironment""" 10754 return _lldb.SBTarget_GetEnvironment(self) 10755 10756 def Install(self): 10757 r""" 10758 Install(SBTarget self) -> SBError 10759 10760 Install any binaries that need to be installed. 10761 10762 This function does nothing when debugging on the host system. 10763 When connected to remote platforms, the target's main executable 10764 and any modules that have their install path set will be 10765 installed on the remote platform. If the main executable doesn't 10766 have an install location set, it will be installed in the remote 10767 platform's working directory. 10768 10769 @return 10770 An error describing anything that went wrong during 10771 installation. 10772 """ 10773 return _lldb.SBTarget_Install(self) 10774 10775 def LoadCore(self, *args): 10776 r""" 10777 LoadCore(SBTarget self, char const * core_file) -> SBProcess 10778 LoadCore(SBTarget self, char const * core_file, SBError error) -> SBProcess 10779 10780 Load a core file 10781 10782 @param[in] core_file 10783 File path of the core dump. 10784 10785 @param[out] error 10786 An error explaining what went wrong if the operation fails. 10787 (Optional) 10788 10789 @return 10790 A process object for the newly created core file. 10791 10792 For example, 10793 10794 process = target.LoadCore('./a.out.core') 10795 10796 loads a new core file and returns the process object. 10797 """ 10798 return _lldb.SBTarget_LoadCore(self, *args) 10799 10800 def LaunchSimple(self, argv, envp, working_directory): 10801 r""" 10802 LaunchSimple(SBTarget self, char const ** argv, char const ** envp, char const * working_directory) -> SBProcess 10803 10804 Launch a new process with sensible defaults. 10805 10806 :param argv: The argument array. 10807 :param envp: The environment array. 10808 :param working_directory: The working directory to have the child process run in 10809 :return: The newly created process. 10810 :rtype: SBProcess 10811 10812 A pseudo terminal will be used as stdin/stdout/stderr. 10813 No launch flags are passed and the target's debuger is used as a listener. 10814 10815 For example, :: 10816 10817 process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd()) 10818 10819 launches a new process by passing 'X', 'Y', 'Z' as the args to the 10820 executable. 10821 """ 10822 return _lldb.SBTarget_LaunchSimple(self, argv, envp, working_directory) 10823 10824 def Launch(self, *args): 10825 r""" 10826 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 10827 Launch(SBTarget self, SBLaunchInfo launch_info, SBError error) -> SBProcess 10828 10829 Launch a new process. 10830 10831 Launch a new process by spawning a new process using the 10832 target object's executable module's file as the file to launch. 10833 Arguments are given in argv, and the environment variables 10834 are in envp. Standard input and output files can be 10835 optionally re-directed to stdin_path, stdout_path, and 10836 stderr_path. 10837 10838 @param[in] listener 10839 An optional listener that will receive all process events. 10840 If listener is valid then listener will listen to all 10841 process events. If not valid, then this target's debugger 10842 (SBTarget::GetDebugger()) will listen to all process events. 10843 10844 @param[in] argv 10845 The argument array. 10846 10847 @param[in] envp 10848 The environment array. 10849 10850 @param[in] launch_flags 10851 Flags to modify the launch (@see lldb::LaunchFlags) 10852 10853 @param[in] stdin_path 10854 The path to use when re-directing the STDIN of the new 10855 process. If all stdXX_path arguments are NULL, a pseudo 10856 terminal will be used. 10857 10858 @param[in] stdout_path 10859 The path to use when re-directing the STDOUT of the new 10860 process. If all stdXX_path arguments are NULL, a pseudo 10861 terminal will be used. 10862 10863 @param[in] stderr_path 10864 The path to use when re-directing the STDERR of the new 10865 process. If all stdXX_path arguments are NULL, a pseudo 10866 terminal will be used. 10867 10868 @param[in] working_directory 10869 The working directory to have the child process run in 10870 10871 @param[in] launch_flags 10872 Some launch options specified by logical OR'ing 10873 lldb::LaunchFlags enumeration values together. 10874 10875 @param[in] stop_at_entry 10876 If false do not stop the inferior at the entry point. 10877 10878 @param[out] 10879 An error object. Contains the reason if there is some failure. 10880 10881 @return 10882 A process object for the newly created process. 10883 10884 For example, 10885 10886 process = target.Launch(self.dbg.GetListener(), None, None, 10887 None, '/tmp/stdout.txt', None, 10888 None, 0, False, error) 10889 10890 launches a new process by passing nothing for both the args and the envs 10891 and redirect the standard output of the inferior to the /tmp/stdout.txt 10892 file. It does not specify a working directory so that the debug server 10893 will use its idea of what the current working directory is for the 10894 inferior. Also, we ask the debugger not to stop the inferior at the 10895 entry point. If no breakpoint is specified for the inferior, it should 10896 run to completion if no user interaction is required. 10897 """ 10898 return _lldb.SBTarget_Launch(self, *args) 10899 10900 def Attach(self, attach_info, error): 10901 r"""Attach(SBTarget self, SBAttachInfo attach_info, SBError error) -> SBProcess""" 10902 return _lldb.SBTarget_Attach(self, attach_info, error) 10903 10904 def AttachToProcessWithID(self, listener, pid, error): 10905 r""" 10906 AttachToProcessWithID(SBTarget self, SBListener listener, lldb::pid_t pid, SBError error) -> SBProcess 10907 10908 Attach to process with pid. 10909 10910 @param[in] listener 10911 An optional listener that will receive all process events. 10912 If listener is valid then listener will listen to all 10913 process events. If not valid, then this target's debugger 10914 (SBTarget::GetDebugger()) will listen to all process events. 10915 10916 @param[in] pid 10917 The process ID to attach to. 10918 10919 @param[out] 10920 An error explaining what went wrong if attach fails. 10921 10922 @return 10923 A process object for the attached process. 10924 """ 10925 return _lldb.SBTarget_AttachToProcessWithID(self, listener, pid, error) 10926 10927 def AttachToProcessWithName(self, listener, name, wait_for, error): 10928 r""" 10929 AttachToProcessWithName(SBTarget self, SBListener listener, char const * name, bool wait_for, SBError error) -> SBProcess 10930 10931 Attach to process with name. 10932 10933 @param[in] listener 10934 An optional listener that will receive all process events. 10935 If listener is valid then listener will listen to all 10936 process events. If not valid, then this target's debugger 10937 (SBTarget::GetDebugger()) will listen to all process events. 10938 10939 @param[in] name 10940 Basename of process to attach to. 10941 10942 @param[in] wait_for 10943 If true wait for a new instance of 'name' to be launched. 10944 10945 @param[out] 10946 An error explaining what went wrong if attach fails. 10947 10948 @return 10949 A process object for the attached process. 10950 """ 10951 return _lldb.SBTarget_AttachToProcessWithName(self, listener, name, wait_for, error) 10952 10953 def ConnectRemote(self, listener, url, plugin_name, error): 10954 r""" 10955 ConnectRemote(SBTarget self, SBListener listener, char const * url, char const * plugin_name, SBError error) -> SBProcess 10956 10957 Connect to a remote debug server with url. 10958 10959 @param[in] listener 10960 An optional listener that will receive all process events. 10961 If listener is valid then listener will listen to all 10962 process events. If not valid, then this target's debugger 10963 (SBTarget::GetDebugger()) will listen to all process events. 10964 10965 @param[in] url 10966 The url to connect to, e.g., 'connect://localhost:12345'. 10967 10968 @param[in] plugin_name 10969 The plugin name to be used; can be NULL. 10970 10971 @param[out] 10972 An error explaining what went wrong if the connect fails. 10973 10974 @return 10975 A process object for the connected process. 10976 """ 10977 return _lldb.SBTarget_ConnectRemote(self, listener, url, plugin_name, error) 10978 10979 def GetExecutable(self): 10980 r"""GetExecutable(SBTarget self) -> SBFileSpec""" 10981 return _lldb.SBTarget_GetExecutable(self) 10982 10983 def AppendImageSearchPath(self, _from, to, error): 10984 r""" 10985 AppendImageSearchPath(SBTarget self, char const * _from, char const * to, SBError error) 10986 10987 Append the path mapping (from -> to) to the target's paths mapping list. 10988 """ 10989 return _lldb.SBTarget_AppendImageSearchPath(self, _from, to, error) 10990 10991 def AddModule(self, *args): 10992 r""" 10993 AddModule(SBTarget self, SBModule module) -> bool 10994 AddModule(SBTarget self, char const * path, char const * triple, char const * uuid) -> SBModule 10995 AddModule(SBTarget self, char const * path, char const * triple, char const * uuid_cstr, char const * symfile) -> SBModule 10996 AddModule(SBTarget self, SBModuleSpec module_spec) -> SBModule 10997 """ 10998 return _lldb.SBTarget_AddModule(self, *args) 10999 11000 def GetNumModules(self): 11001 r"""GetNumModules(SBTarget self) -> uint32_t""" 11002 return _lldb.SBTarget_GetNumModules(self) 11003 11004 def GetModuleAtIndex(self, idx): 11005 r"""GetModuleAtIndex(SBTarget self, uint32_t idx) -> SBModule""" 11006 return _lldb.SBTarget_GetModuleAtIndex(self, idx) 11007 11008 def RemoveModule(self, module): 11009 r"""RemoveModule(SBTarget self, SBModule module) -> bool""" 11010 return _lldb.SBTarget_RemoveModule(self, module) 11011 11012 def GetDebugger(self): 11013 r"""GetDebugger(SBTarget self) -> SBDebugger""" 11014 return _lldb.SBTarget_GetDebugger(self) 11015 11016 def FindModule(self, file_spec): 11017 r"""FindModule(SBTarget self, SBFileSpec file_spec) -> SBModule""" 11018 return _lldb.SBTarget_FindModule(self, file_spec) 11019 11020 def FindCompileUnits(self, sb_file_spec): 11021 r""" 11022 FindCompileUnits(SBTarget self, SBFileSpec sb_file_spec) -> SBSymbolContextList 11023 11024 Find compile units related to this target and passed source 11025 file. 11026 11027 :param sb_file_spec: A :py:class:`lldb::SBFileSpec` object that contains source file 11028 specification. 11029 :return: The symbol contexts for all the matches. 11030 :rtype: SBSymbolContextList 11031 """ 11032 return _lldb.SBTarget_FindCompileUnits(self, sb_file_spec) 11033 11034 def GetByteOrder(self): 11035 r"""GetByteOrder(SBTarget self) -> lldb::ByteOrder""" 11036 return _lldb.SBTarget_GetByteOrder(self) 11037 11038 def GetAddressByteSize(self): 11039 r"""GetAddressByteSize(SBTarget self) -> uint32_t""" 11040 return _lldb.SBTarget_GetAddressByteSize(self) 11041 11042 def GetTriple(self): 11043 r"""GetTriple(SBTarget self) -> char const *""" 11044 return _lldb.SBTarget_GetTriple(self) 11045 11046 def GetABIName(self): 11047 r"""GetABIName(SBTarget self) -> char const *""" 11048 return _lldb.SBTarget_GetABIName(self) 11049 11050 def GetLabel(self): 11051 r"""GetLabel(SBTarget self) -> char const *""" 11052 return _lldb.SBTarget_GetLabel(self) 11053 11054 def SetLabel(self, label): 11055 r"""SetLabel(SBTarget self, char const * label) -> SBError""" 11056 return _lldb.SBTarget_SetLabel(self, label) 11057 11058 def GetDataByteSize(self): 11059 r""" 11060 GetDataByteSize(SBTarget self) -> uint32_t 11061 11062 Architecture data byte width accessor 11063 11064 :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's data bus. 11065 11066 11067 """ 11068 return _lldb.SBTarget_GetDataByteSize(self) 11069 11070 def GetCodeByteSize(self): 11071 r""" 11072 GetCodeByteSize(SBTarget self) -> uint32_t 11073 11074 Architecture code byte width accessor. 11075 11076 :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's code bus. 11077 11078 11079 """ 11080 return _lldb.SBTarget_GetCodeByteSize(self) 11081 11082 def GetMaximumNumberOfChildrenToDisplay(self): 11083 r"""GetMaximumNumberOfChildrenToDisplay(SBTarget self) -> uint32_t""" 11084 return _lldb.SBTarget_GetMaximumNumberOfChildrenToDisplay(self) 11085 11086 def SetSectionLoadAddress(self, section, section_base_addr): 11087 r"""SetSectionLoadAddress(SBTarget self, SBSection section, lldb::addr_t section_base_addr) -> SBError""" 11088 return _lldb.SBTarget_SetSectionLoadAddress(self, section, section_base_addr) 11089 11090 def ClearSectionLoadAddress(self, section): 11091 r"""ClearSectionLoadAddress(SBTarget self, SBSection section) -> SBError""" 11092 return _lldb.SBTarget_ClearSectionLoadAddress(self, section) 11093 11094 def SetModuleLoadAddress(self, module, sections_offset): 11095 r"""SetModuleLoadAddress(SBTarget self, SBModule module, uint64_t sections_offset) -> SBError""" 11096 return _lldb.SBTarget_SetModuleLoadAddress(self, module, sections_offset) 11097 11098 def ClearModuleLoadAddress(self, module): 11099 r"""ClearModuleLoadAddress(SBTarget self, SBModule module) -> SBError""" 11100 return _lldb.SBTarget_ClearModuleLoadAddress(self, module) 11101 11102 def FindFunctions(self, *args): 11103 r""" 11104 FindFunctions(SBTarget self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList 11105 11106 Find functions by name. 11107 11108 :param name: The name of the function we are looking for. 11109 11110 :param name_type_mask: 11111 A logical OR of one or more FunctionNameType enum bits that 11112 indicate what kind of names should be used when doing the 11113 lookup. Bits include fully qualified names, base names, 11114 C++ methods, or ObjC selectors. 11115 See FunctionNameType for more details. 11116 11117 :return: 11118 A lldb::SBSymbolContextList that gets filled in with all of 11119 the symbol contexts for all the matches. 11120 """ 11121 return _lldb.SBTarget_FindFunctions(self, *args) 11122 11123 def FindFirstGlobalVariable(self, name): 11124 r""" 11125 FindFirstGlobalVariable(SBTarget self, char const * name) -> SBValue 11126 11127 Find the first global (or static) variable by name. 11128 11129 @param[in] name 11130 The name of the global or static variable we are looking 11131 for. 11132 11133 @return 11134 An SBValue that gets filled in with the found variable (if any). 11135 """ 11136 return _lldb.SBTarget_FindFirstGlobalVariable(self, name) 11137 11138 def FindGlobalVariables(self, *args): 11139 r""" 11140 FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches) -> SBValueList 11141 FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBValueList 11142 11143 Find global and static variables by name. 11144 11145 @param[in] name 11146 The name of the global or static variable we are looking 11147 for. 11148 11149 @param[in] max_matches 11150 Allow the number of matches to be limited to max_matches. 11151 11152 @return 11153 A list of matched variables in an SBValueList. 11154 """ 11155 return _lldb.SBTarget_FindGlobalVariables(self, *args) 11156 11157 def FindGlobalFunctions(self, name, max_matches, matchtype): 11158 r"""FindGlobalFunctions(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBSymbolContextList""" 11159 return _lldb.SBTarget_FindGlobalFunctions(self, name, max_matches, matchtype) 11160 11161 def Clear(self): 11162 r"""Clear(SBTarget self)""" 11163 return _lldb.SBTarget_Clear(self) 11164 11165 def ResolveFileAddress(self, file_addr): 11166 r""" 11167 ResolveFileAddress(SBTarget self, lldb::addr_t file_addr) -> SBAddress 11168 11169 Resolve a current file address into a section offset address. 11170 11171 @param[in] file_addr 11172 11173 @return 11174 An SBAddress which will be valid if... 11175 """ 11176 return _lldb.SBTarget_ResolveFileAddress(self, file_addr) 11177 11178 def ResolveLoadAddress(self, vm_addr): 11179 r"""ResolveLoadAddress(SBTarget self, lldb::addr_t vm_addr) -> SBAddress""" 11180 return _lldb.SBTarget_ResolveLoadAddress(self, vm_addr) 11181 11182 def ResolvePastLoadAddress(self, stop_id, vm_addr): 11183 r"""ResolvePastLoadAddress(SBTarget self, uint32_t stop_id, lldb::addr_t vm_addr) -> SBAddress""" 11184 return _lldb.SBTarget_ResolvePastLoadAddress(self, stop_id, vm_addr) 11185 11186 def ResolveSymbolContextForAddress(self, addr, resolve_scope): 11187 r"""ResolveSymbolContextForAddress(SBTarget self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext""" 11188 return _lldb.SBTarget_ResolveSymbolContextForAddress(self, addr, resolve_scope) 11189 11190 def ReadMemory(self, addr, buf, error): 11191 r""" 11192 ReadMemory(SBTarget self, SBAddress addr, void * buf, SBError error) -> size_t 11193 11194 Read target memory. If a target process is running then memory 11195 is read from here. Otherwise the memory is read from the object 11196 files. For a target whose bytes are sized as a multiple of host 11197 bytes, the data read back will preserve the target's byte order. 11198 11199 @param[in] addr 11200 A target address to read from. 11201 11202 @param[out] buf 11203 The buffer to read memory into. 11204 11205 @param[in] size 11206 The maximum number of host bytes to read in the buffer passed 11207 into this call 11208 11209 @param[out] error 11210 Error information is written here if the memory read fails. 11211 11212 @return 11213 The amount of data read in host bytes. 11214 """ 11215 return _lldb.SBTarget_ReadMemory(self, addr, buf, error) 11216 11217 def BreakpointCreateByLocation(self, *args): 11218 r""" 11219 BreakpointCreateByLocation(SBTarget self, char const * file, uint32_t line) -> SBBreakpoint 11220 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line) -> SBBreakpoint 11221 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset) -> SBBreakpoint 11222 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint 11223 BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint 11224 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 11225 """ 11226 return _lldb.SBTarget_BreakpointCreateByLocation(self, *args) 11227 11228 def BreakpointCreateByName(self, *args): 11229 r""" 11230 BreakpointCreateByName(SBTarget self, char const * symbol_name, char const * module_name=None) -> SBBreakpoint 11231 BreakpointCreateByName(SBTarget self, char const * symbol_name, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11232 BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11233 BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11234 """ 11235 return _lldb.SBTarget_BreakpointCreateByName(self, *args) 11236 11237 def BreakpointCreateByNames(self, *args): 11238 r""" 11239 BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11240 BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11241 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 11242 """ 11243 return _lldb.SBTarget_BreakpointCreateByNames(self, *args) 11244 11245 def BreakpointCreateByRegex(self, *args): 11246 r""" 11247 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, char const * module_name=None) -> SBBreakpoint 11248 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11249 BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint 11250 """ 11251 return _lldb.SBTarget_BreakpointCreateByRegex(self, *args) 11252 11253 def BreakpointCreateBySourceRegex(self, *args): 11254 r""" 11255 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpec source_file, char const * module_name=None) -> SBBreakpoint 11256 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file) -> SBBreakpoint 11257 BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file, SBStringList func_names) -> SBBreakpoint 11258 """ 11259 return _lldb.SBTarget_BreakpointCreateBySourceRegex(self, *args) 11260 11261 def BreakpointCreateForException(self, language, catch_bp, throw_bp): 11262 r"""BreakpointCreateForException(SBTarget self, lldb::LanguageType language, bool catch_bp, bool throw_bp) -> SBBreakpoint""" 11263 return _lldb.SBTarget_BreakpointCreateForException(self, language, catch_bp, throw_bp) 11264 11265 def BreakpointCreateByAddress(self, address): 11266 r"""BreakpointCreateByAddress(SBTarget self, lldb::addr_t address) -> SBBreakpoint""" 11267 return _lldb.SBTarget_BreakpointCreateByAddress(self, address) 11268 11269 def BreakpointCreateBySBAddress(self, address): 11270 r"""BreakpointCreateBySBAddress(SBTarget self, SBAddress address) -> SBBreakpoint""" 11271 return _lldb.SBTarget_BreakpointCreateBySBAddress(self, address) 11272 11273 def BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware=False): 11274 r""" 11275 BreakpointCreateFromScript(SBTarget self, char const * class_name, SBStructuredData extra_args, SBFileSpecList module_list, SBFileSpecList file_list, bool request_hardware=False) -> SBBreakpoint 11276 11277 Create a breakpoint using a scripted resolver. 11278 11279 @param[in] class_name 11280 This is the name of the class that implements a scripted resolver. 11281 The class should have the following signature: :: 11282 11283 class Resolver: 11284 def __init__(self, bkpt, extra_args): 11285 # bkpt - the breakpoint for which this is the resolver. When 11286 # the resolver finds an interesting address, call AddLocation 11287 # on this breakpoint to add it. 11288 # 11289 # extra_args - an SBStructuredData that can be used to 11290 # parametrize this instance. Same as the extra_args passed 11291 # to BreakpointCreateFromScript. 11292 11293 def __get_depth__ (self): 11294 # This is optional, but if defined, you should return the 11295 # depth at which you want the callback to be called. The 11296 # available options are: 11297 # lldb.eSearchDepthModule 11298 # lldb.eSearchDepthCompUnit 11299 # The default if you don't implement this method is 11300 # eSearchDepthModule. 11301 11302 def __callback__(self, sym_ctx): 11303 # sym_ctx - an SBSymbolContext that is the cursor in the 11304 # search through the program to resolve breakpoints. 11305 # The sym_ctx will be filled out to the depth requested in 11306 # __get_depth__. 11307 # Look in this sym_ctx for new breakpoint locations, 11308 # and if found use bkpt.AddLocation to add them. 11309 # Note, you will only get called for modules/compile_units that 11310 # pass the SearchFilter provided by the module_list & file_list 11311 # passed into BreakpointCreateFromScript. 11312 11313 def get_short_help(self): 11314 # Optional, but if implemented return a short string that will 11315 # be printed at the beginning of the break list output for the 11316 # breakpoint. 11317 11318 @param[in] extra_args 11319 This is an SBStructuredData object that will get passed to the 11320 constructor of the class in class_name. You can use this to 11321 reuse the same class, parametrizing it with entries from this 11322 dictionary. 11323 11324 @param module_list 11325 If this is non-empty, this will be used as the module filter in the 11326 SearchFilter created for this breakpoint. 11327 11328 @param file_list 11329 If this is non-empty, this will be used as the comp unit filter in the 11330 SearchFilter created for this breakpoint. 11331 11332 @return 11333 An SBBreakpoint that will set locations based on the logic in the 11334 resolver's search callback. 11335 """ 11336 return _lldb.SBTarget_BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware) 11337 11338 def BreakpointsCreateFromFile(self, *args): 11339 r""" 11340 BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBBreakpointList new_bps) -> SBError 11341 BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBStringList matching_names, SBBreakpointList new_bps) -> SBError 11342 11343 Read breakpoints from source_file and return the newly created 11344 breakpoints in bkpt_list. 11345 11346 @param[in] source_file 11347 The file from which to read the breakpoints 11348 11349 @param[in] matching_names 11350 Only read in breakpoints whose names match one of the names in this 11351 list. 11352 11353 @param[out] bkpt_list 11354 A list of the newly created breakpoints. 11355 11356 @return 11357 An SBError detailing any errors in reading in the breakpoints. 11358 """ 11359 return _lldb.SBTarget_BreakpointsCreateFromFile(self, *args) 11360 11361 def BreakpointsWriteToFile(self, *args): 11362 r""" 11363 BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file) -> SBError 11364 BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file, SBBreakpointList bkpt_list, bool append=False) -> SBError 11365 11366 Write breakpoints listed in bkpt_list to dest_file. 11367 11368 @param[in] dest_file 11369 The file to which to write the breakpoints. 11370 11371 @param[in] bkpt_list 11372 Only write breakpoints from this list. 11373 11374 @param[in] append 11375 If true, append the breakpoints in bkpt_list to the others 11376 serialized in dest_file. If dest_file doesn't exist, then a new 11377 file will be created and the breakpoints in bkpt_list written to it. 11378 11379 @return 11380 An SBError detailing any errors in writing in the breakpoints. 11381 """ 11382 return _lldb.SBTarget_BreakpointsWriteToFile(self, *args) 11383 11384 def GetNumBreakpoints(self): 11385 r"""GetNumBreakpoints(SBTarget self) -> uint32_t""" 11386 return _lldb.SBTarget_GetNumBreakpoints(self) 11387 11388 def GetBreakpointAtIndex(self, idx): 11389 r"""GetBreakpointAtIndex(SBTarget self, uint32_t idx) -> SBBreakpoint""" 11390 return _lldb.SBTarget_GetBreakpointAtIndex(self, idx) 11391 11392 def BreakpointDelete(self, break_id): 11393 r"""BreakpointDelete(SBTarget self, lldb::break_id_t break_id) -> bool""" 11394 return _lldb.SBTarget_BreakpointDelete(self, break_id) 11395 11396 def FindBreakpointByID(self, break_id): 11397 r"""FindBreakpointByID(SBTarget self, lldb::break_id_t break_id) -> SBBreakpoint""" 11398 return _lldb.SBTarget_FindBreakpointByID(self, break_id) 11399 11400 def FindBreakpointsByName(self, name, bkpt_list): 11401 r"""FindBreakpointsByName(SBTarget self, char const * name, SBBreakpointList bkpt_list) -> bool""" 11402 return _lldb.SBTarget_FindBreakpointsByName(self, name, bkpt_list) 11403 11404 def GetBreakpointNames(self, names): 11405 r"""GetBreakpointNames(SBTarget self, SBStringList names)""" 11406 return _lldb.SBTarget_GetBreakpointNames(self, names) 11407 11408 def DeleteBreakpointName(self, name): 11409 r"""DeleteBreakpointName(SBTarget self, char const * name)""" 11410 return _lldb.SBTarget_DeleteBreakpointName(self, name) 11411 11412 def EnableAllBreakpoints(self): 11413 r"""EnableAllBreakpoints(SBTarget self) -> bool""" 11414 return _lldb.SBTarget_EnableAllBreakpoints(self) 11415 11416 def DisableAllBreakpoints(self): 11417 r"""DisableAllBreakpoints(SBTarget self) -> bool""" 11418 return _lldb.SBTarget_DisableAllBreakpoints(self) 11419 11420 def DeleteAllBreakpoints(self): 11421 r"""DeleteAllBreakpoints(SBTarget self) -> bool""" 11422 return _lldb.SBTarget_DeleteAllBreakpoints(self) 11423 11424 def GetNumWatchpoints(self): 11425 r"""GetNumWatchpoints(SBTarget self) -> uint32_t""" 11426 return _lldb.SBTarget_GetNumWatchpoints(self) 11427 11428 def GetWatchpointAtIndex(self, idx): 11429 r"""GetWatchpointAtIndex(SBTarget self, uint32_t idx) -> SBWatchpoint""" 11430 return _lldb.SBTarget_GetWatchpointAtIndex(self, idx) 11431 11432 def DeleteWatchpoint(self, watch_id): 11433 r"""DeleteWatchpoint(SBTarget self, lldb::watch_id_t watch_id) -> bool""" 11434 return _lldb.SBTarget_DeleteWatchpoint(self, watch_id) 11435 11436 def FindWatchpointByID(self, watch_id): 11437 r"""FindWatchpointByID(SBTarget self, lldb::watch_id_t watch_id) -> SBWatchpoint""" 11438 return _lldb.SBTarget_FindWatchpointByID(self, watch_id) 11439 11440 def WatchAddress(self, addr, size, read, modify, error): 11441 r"""WatchAddress(SBTarget self, lldb::addr_t addr, size_t size, bool read, bool modify, SBError error) -> SBWatchpoint""" 11442 return _lldb.SBTarget_WatchAddress(self, addr, size, read, modify, error) 11443 11444 def WatchpointCreateByAddress(self, addr, size, options, error): 11445 r"""WatchpointCreateByAddress(SBTarget self, lldb::addr_t addr, size_t size, SBWatchpointOptions options, SBError error) -> SBWatchpoint""" 11446 return _lldb.SBTarget_WatchpointCreateByAddress(self, addr, size, options, error) 11447 11448 def EnableAllWatchpoints(self): 11449 r"""EnableAllWatchpoints(SBTarget self) -> bool""" 11450 return _lldb.SBTarget_EnableAllWatchpoints(self) 11451 11452 def DisableAllWatchpoints(self): 11453 r"""DisableAllWatchpoints(SBTarget self) -> bool""" 11454 return _lldb.SBTarget_DisableAllWatchpoints(self) 11455 11456 def DeleteAllWatchpoints(self): 11457 r"""DeleteAllWatchpoints(SBTarget self) -> bool""" 11458 return _lldb.SBTarget_DeleteAllWatchpoints(self) 11459 11460 def GetBroadcaster(self): 11461 r"""GetBroadcaster(SBTarget self) -> SBBroadcaster""" 11462 return _lldb.SBTarget_GetBroadcaster(self) 11463 11464 def FindFirstType(self, type): 11465 r"""FindFirstType(SBTarget self, char const * type) -> SBType""" 11466 return _lldb.SBTarget_FindFirstType(self, type) 11467 11468 def FindTypes(self, type): 11469 r"""FindTypes(SBTarget self, char const * type) -> SBTypeList""" 11470 return _lldb.SBTarget_FindTypes(self, type) 11471 11472 def GetBasicType(self, type): 11473 r"""GetBasicType(SBTarget self, lldb::BasicType type) -> SBType""" 11474 return _lldb.SBTarget_GetBasicType(self, type) 11475 11476 def CreateValueFromAddress(self, name, addr, type): 11477 r""" 11478 CreateValueFromAddress(SBTarget self, char const * name, SBAddress addr, SBType type) -> SBValue 11479 11480 Create an SBValue with the given name by treating the memory starting at addr as an entity of type. 11481 11482 @param[in] name 11483 The name of the resultant SBValue 11484 11485 @param[in] addr 11486 The address of the start of the memory region to be used. 11487 11488 @param[in] type 11489 The type to use to interpret the memory starting at addr. 11490 11491 @return 11492 An SBValue of the given type, may be invalid if there was an error reading 11493 the underlying memory. 11494 """ 11495 return _lldb.SBTarget_CreateValueFromAddress(self, name, addr, type) 11496 11497 def CreateValueFromData(self, name, data, type): 11498 r"""CreateValueFromData(SBTarget self, char const * name, SBData data, SBType type) -> SBValue""" 11499 return _lldb.SBTarget_CreateValueFromData(self, name, data, type) 11500 11501 def CreateValueFromExpression(self, name, expr): 11502 r"""CreateValueFromExpression(SBTarget self, char const * name, char const * expr) -> SBValue""" 11503 return _lldb.SBTarget_CreateValueFromExpression(self, name, expr) 11504 11505 def GetSourceManager(self): 11506 r"""GetSourceManager(SBTarget self) -> SBSourceManager""" 11507 return _lldb.SBTarget_GetSourceManager(self) 11508 11509 def ReadInstructions(self, *args): 11510 r""" 11511 ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count) -> SBInstructionList 11512 ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count, char const * flavor_string) -> SBInstructionList 11513 ReadInstructions(SBTarget self, SBAddress start_addr, SBAddress end_addr, char const * flavor_string) -> SBInstructionList 11514 11515 Disassemble a specified number of instructions starting at an address. 11516 11517 :param base_addr: the address to start disassembly from. 11518 :param count: the number of instructions to disassemble. 11519 :param flavor_string: may be 'intel' or 'att' on x86 targets to specify that style of disassembly. 11520 :rtype: SBInstructionList 11521 11522 """ 11523 return _lldb.SBTarget_ReadInstructions(self, *args) 11524 11525 def GetInstructions(self, base_addr, buf): 11526 r""" 11527 GetInstructions(SBTarget self, SBAddress base_addr, void const * buf) -> SBInstructionList 11528 11529 Disassemble the bytes in a buffer and return them in an SBInstructionList. 11530 11531 :param base_addr: used for symbolicating the offsets in the byte stream when disassembling. 11532 :param buf: bytes to be disassembled. 11533 :param size: (C++) size of the buffer. 11534 :rtype: SBInstructionList 11535 11536 """ 11537 return _lldb.SBTarget_GetInstructions(self, base_addr, buf) 11538 11539 def GetInstructionsWithFlavor(self, base_addr, flavor_string, buf): 11540 r""" 11541 GetInstructionsWithFlavor(SBTarget self, SBAddress base_addr, char const * flavor_string, void const * buf) -> SBInstructionList 11542 11543 Disassemble the bytes in a buffer and return them in an SBInstructionList, with a supplied flavor. 11544 11545 :param base_addr: used for symbolicating the offsets in the byte stream when disassembling. 11546 :param flavor: may be 'intel' or 'att' on x86 targets to specify that style of disassembly. 11547 :param buf: bytes to be disassembled. 11548 :param size: (C++) size of the buffer. 11549 :rtype: SBInstructionList 11550 11551 """ 11552 return _lldb.SBTarget_GetInstructionsWithFlavor(self, base_addr, flavor_string, buf) 11553 11554 def FindSymbols(self, *args): 11555 r"""FindSymbols(SBTarget self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList""" 11556 return _lldb.SBTarget_FindSymbols(self, *args) 11557 11558 def __eq__(self, rhs): 11559 r"""__eq__(SBTarget self, SBTarget rhs) -> bool""" 11560 return _lldb.SBTarget___eq__(self, rhs) 11561 11562 def __ne__(self, rhs): 11563 r"""__ne__(SBTarget self, SBTarget rhs) -> bool""" 11564 return _lldb.SBTarget___ne__(self, rhs) 11565 11566 def GetDescription(self, description, description_level): 11567 r"""GetDescription(SBTarget self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 11568 return _lldb.SBTarget_GetDescription(self, description, description_level) 11569 11570 def EvaluateExpression(self, *args): 11571 r""" 11572 EvaluateExpression(SBTarget self, char const * expr) -> SBValue 11573 EvaluateExpression(SBTarget self, char const * expr, SBExpressionOptions options) -> SBValue 11574 """ 11575 return _lldb.SBTarget_EvaluateExpression(self, *args) 11576 11577 def GetStackRedZoneSize(self): 11578 r"""GetStackRedZoneSize(SBTarget self) -> lldb::addr_t""" 11579 return _lldb.SBTarget_GetStackRedZoneSize(self) 11580 11581 def IsLoaded(self, module): 11582 r""" 11583 IsLoaded(SBTarget self, SBModule module) -> bool 11584 11585 Returns true if the module has been loaded in this `SBTarget`. 11586 A module can be loaded either by the dynamic loader or by being manually 11587 added to the target (see `SBTarget.AddModule` and the ``target module add`` command). 11588 11589 :rtype: bool 11590 11591 """ 11592 return _lldb.SBTarget_IsLoaded(self, module) 11593 11594 def GetLaunchInfo(self): 11595 r"""GetLaunchInfo(SBTarget self) -> SBLaunchInfo""" 11596 return _lldb.SBTarget_GetLaunchInfo(self) 11597 11598 def SetLaunchInfo(self, launch_info): 11599 r"""SetLaunchInfo(SBTarget self, SBLaunchInfo launch_info)""" 11600 return _lldb.SBTarget_SetLaunchInfo(self, launch_info) 11601 11602 def GetTrace(self): 11603 r"""GetTrace(SBTarget self) -> SBTrace""" 11604 return _lldb.SBTarget_GetTrace(self) 11605 11606 def CreateTrace(self, error): 11607 r"""CreateTrace(SBTarget self, SBError error) -> SBTrace""" 11608 return _lldb.SBTarget_CreateTrace(self, error) 11609 11610 def __repr__(self): 11611 r"""__repr__(SBTarget self) -> std::string""" 11612 return _lldb.SBTarget___repr__(self) 11613 11614 # operator== is a free function, which swig does not handle, so we inject 11615 # our own equality operator here 11616 def __eq__(self, other): 11617 return not self.__ne__(other) 11618 11619 class modules_access(object): 11620 '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.''' 11621 def __init__(self, sbtarget): 11622 self.sbtarget = sbtarget 11623 11624 def __len__(self): 11625 if self.sbtarget: 11626 return int(self.sbtarget.GetNumModules()) 11627 return 0 11628 11629 def __getitem__(self, key): 11630 num_modules = self.sbtarget.GetNumModules() 11631 if type(key) is int: 11632 if -num_modules <= key < num_modules: 11633 key %= num_modules 11634 return self.sbtarget.GetModuleAtIndex(key) 11635 elif type(key) is str: 11636 if key.find('/') == -1: 11637 for idx in range(num_modules): 11638 module = self.sbtarget.GetModuleAtIndex(idx) 11639 if module.file.basename == key: 11640 return module 11641 else: 11642 for idx in range(num_modules): 11643 module = self.sbtarget.GetModuleAtIndex(idx) 11644 if module.file.fullpath == key: 11645 return module 11646 # See if the string is a UUID 11647 try: 11648 the_uuid = uuid.UUID(key) 11649 if the_uuid: 11650 for idx in range(num_modules): 11651 module = self.sbtarget.GetModuleAtIndex(idx) 11652 if module.uuid == the_uuid: 11653 return module 11654 except: 11655 return None 11656 elif type(key) is uuid.UUID: 11657 for idx in range(num_modules): 11658 module = self.sbtarget.GetModuleAtIndex(idx) 11659 if module.uuid == key: 11660 return module 11661 elif type(key) is re.SRE_Pattern: 11662 matching_modules = [] 11663 for idx in range(num_modules): 11664 module = self.sbtarget.GetModuleAtIndex(idx) 11665 re_match = key.search(module.path.fullpath) 11666 if re_match: 11667 matching_modules.append(module) 11668 return matching_modules 11669 else: 11670 print("error: unsupported item type: %s" % type(key)) 11671 return None 11672 11673 def get_modules_access_object(self): 11674 '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.''' 11675 return self.modules_access(self) 11676 11677 def get_modules_array(self): 11678 '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.''' 11679 modules = [] 11680 for idx in range(self.GetNumModules()): 11681 modules.append(self.GetModuleAtIndex(idx)) 11682 return modules 11683 11684 def module_iter(self): 11685 '''Returns an iterator over all modules in a lldb.SBTarget 11686 object.''' 11687 return lldb_iter(self, 'GetNumModules', 'GetModuleAtIndex') 11688 11689 def breakpoint_iter(self): 11690 '''Returns an iterator over all breakpoints in a lldb.SBTarget 11691 object.''' 11692 return lldb_iter(self, 'GetNumBreakpoints', 'GetBreakpointAtIndex') 11693 11694 class bkpts_access(object): 11695 '''A helper object that will lazily hand out bkpts for a target when supplied an index.''' 11696 def __init__(self, sbtarget): 11697 self.sbtarget = sbtarget 11698 11699 def __len__(self): 11700 if self.sbtarget: 11701 return int(self.sbtarget.GetNumBreakpoints()) 11702 return 0 11703 11704 def __getitem__(self, key): 11705 if isinstance(key, int): 11706 count = len(self) 11707 if -count <= key < count: 11708 key %= count 11709 return self.sbtarget.GetBreakpointAtIndex(key) 11710 return None 11711 11712 def get_bkpts_access_object(self): 11713 '''An accessor function that returns a bkpts_access() object which allows lazy bkpt access from a lldb.SBtarget object.''' 11714 return self.bkpts_access(self) 11715 11716 def get_target_bkpts(self): 11717 '''An accessor function that returns a list() that contains all bkpts in a lldb.SBtarget object.''' 11718 bkpts = [] 11719 for idx in range(self.GetNumBreakpoints()): 11720 bkpts.append(self.GetBreakpointAtIndex(idx)) 11721 return bkpts 11722 11723 def watchpoint_iter(self): 11724 '''Returns an iterator over all watchpoints in a lldb.SBTarget 11725 object.''' 11726 return lldb_iter(self, 'GetNumWatchpoints', 'GetWatchpointAtIndex') 11727 11728 class watchpoints_access(object): 11729 '''A helper object that will lazily hand out watchpoints for a target when supplied an index.''' 11730 def __init__(self, sbtarget): 11731 self.sbtarget = sbtarget 11732 11733 def __len__(self): 11734 if self.sbtarget: 11735 return int(self.sbtarget.GetNumWatchpoints()) 11736 return 0 11737 11738 def __getitem__(self, key): 11739 if isinstance(key, int): 11740 count = len(self) 11741 if -count <= key < count: 11742 key %= count 11743 return self.sbtarget.GetWatchpointAtIndex(key) 11744 return None 11745 11746 def get_watchpoints_access_object(self): 11747 '''An accessor function that returns a watchpoints_access() object which allows lazy watchpoint access from a lldb.SBtarget object.''' 11748 return self.watchpoints_access(self) 11749 11750 def get_target_watchpoints(self): 11751 '''An accessor function that returns a list() that contains all watchpoints in a lldb.SBtarget object.''' 11752 watchpoints = [] 11753 for idx in range(self.GetNumWatchpoints()): 11754 watchpoints.append(self.GetWatchpointAtIndex(idx)) 11755 return watchpoints 11756 11757 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).''') 11758 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.''') 11759 process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''') 11760 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.''') 11761 debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''') 11762 num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''') 11763 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.''') 11764 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]").''') 11765 num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''') 11766 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.''') 11767 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]").''') 11768 broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''') 11769 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.''') 11770 addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''') 11771 triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''') 11772 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.''') 11773 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.''') 11774 platform = property(GetPlatform, None, doc='''A read only property that returns the platform associated with with this target.''') 11775 11776 11777 def __eq__(self, rhs): 11778 if not isinstance(rhs, type(self)): 11779 return False 11780 11781 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 11782 11783 def __ne__(self, rhs): 11784 if not isinstance(rhs, type(self)): 11785 return True 11786 11787 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 11788 11789 11790# Register SBTarget in _lldb: 11791_lldb.SBTarget_swigregister(SBTarget) 11792class SBThread(object): 11793 r""" 11794 Represents a thread of execution. :py:class:`SBProcess` contains SBThread(s). 11795 11796 SBThreads can be referred to by their ID, which maps to the system specific thread 11797 identifier, or by IndexID. The ID may or may not be unique depending on whether the 11798 system reuses its thread identifiers. The IndexID is a monotonically increasing identifier 11799 that will always uniquely reference a particular thread, and when that thread goes 11800 away it will not be reused. 11801 11802 SBThread supports frame iteration. For example (from test/python_api/ 11803 lldbutil/iter/TestLLDBIterator.py), :: 11804 11805 from lldbutil import print_stacktrace 11806 stopped_due_to_breakpoint = False 11807 for thread in process: 11808 if self.TraceOn(): 11809 print_stacktrace(thread) 11810 ID = thread.GetThreadID() 11811 if thread.GetStopReason() == lldb.eStopReasonBreakpoint: 11812 stopped_due_to_breakpoint = True 11813 for frame in thread: 11814 self.assertTrue(frame.GetThread().GetThreadID() == ID) 11815 if self.TraceOn(): 11816 print frame 11817 11818 self.assertTrue(stopped_due_to_breakpoint) 11819 11820 See also :py:class:`SBFrame` . 11821 """ 11822 11823 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 11824 eBroadcastBitStackChanged = _lldb.SBThread_eBroadcastBitStackChanged 11825 11826 eBroadcastBitThreadSuspended = _lldb.SBThread_eBroadcastBitThreadSuspended 11827 11828 eBroadcastBitThreadResumed = _lldb.SBThread_eBroadcastBitThreadResumed 11829 11830 eBroadcastBitSelectedFrameChanged = _lldb.SBThread_eBroadcastBitSelectedFrameChanged 11831 11832 eBroadcastBitThreadSelected = _lldb.SBThread_eBroadcastBitThreadSelected 11833 11834 11835 @staticmethod 11836 def GetBroadcasterClassName(): 11837 r"""GetBroadcasterClassName() -> char const *""" 11838 return _lldb.SBThread_GetBroadcasterClassName() 11839 11840 def __init__(self, *args): 11841 r""" 11842 __init__(SBThread self) -> SBThread 11843 __init__(SBThread self, SBThread thread) -> SBThread 11844 """ 11845 _lldb.SBThread_swiginit(self, _lldb.new_SBThread(*args)) 11846 __swig_destroy__ = _lldb.delete_SBThread 11847 11848 def GetQueue(self): 11849 r""" 11850 GetQueue(SBThread self) -> SBQueue 11851 11852 Return the SBQueue for this thread. If this thread is not currently associated 11853 with a libdispatch queue, the SBQueue object's IsValid() method will return false. 11854 If this SBThread is actually a HistoryThread, we may be able to provide QueueID 11855 and QueueName, but not provide an SBQueue. Those individual attributes may have 11856 been saved for the HistoryThread without enough information to reconstitute the 11857 entire SBQueue at that time. 11858 This method takes no arguments, returns an SBQueue. 11859 """ 11860 return _lldb.SBThread_GetQueue(self) 11861 11862 def __nonzero__(self): 11863 return _lldb.SBThread___nonzero__(self) 11864 __bool__ = __nonzero__ 11865 11866 11867 11868 def IsValid(self): 11869 r"""IsValid(SBThread self) -> bool""" 11870 return _lldb.SBThread_IsValid(self) 11871 11872 def Clear(self): 11873 r"""Clear(SBThread self)""" 11874 return _lldb.SBThread_Clear(self) 11875 11876 def GetStopReason(self): 11877 r"""GetStopReason(SBThread self) -> lldb::StopReason""" 11878 return _lldb.SBThread_GetStopReason(self) 11879 11880 def GetStopReasonDataCount(self): 11881 r""" 11882 GetStopReasonDataCount(SBThread self) -> size_t 11883 11884 Get the number of words associated with the stop reason. 11885 See also GetStopReasonDataAtIndex(). 11886 """ 11887 return _lldb.SBThread_GetStopReasonDataCount(self) 11888 11889 def GetStopReasonDataAtIndex(self, idx): 11890 r""" 11891 GetStopReasonDataAtIndex(SBThread self, uint32_t idx) -> uint64_t 11892 11893 Get information associated with a stop reason. 11894 11895 Breakpoint stop reasons will have data that consists of pairs of 11896 breakpoint IDs followed by the breakpoint location IDs (they always come 11897 in pairs). 11898 11899 Stop Reason Count Data Type 11900 ======================== ===== ========================================= 11901 eStopReasonNone 0 11902 eStopReasonTrace 0 11903 eStopReasonBreakpoint N duple: {breakpoint id, location id} 11904 eStopReasonWatchpoint 1 watchpoint id 11905 eStopReasonSignal 1 unix signal number 11906 eStopReasonException N exception data 11907 eStopReasonExec 0 11908 eStopReasonFork 1 pid of the child process 11909 eStopReasonVFork 1 pid of the child process 11910 eStopReasonVForkDone 0 11911 eStopReasonPlanComplete 0 11912 """ 11913 return _lldb.SBThread_GetStopReasonDataAtIndex(self, idx) 11914 11915 def GetStopReasonExtendedInfoAsJSON(self, stream): 11916 r""" 11917 GetStopReasonExtendedInfoAsJSON(SBThread self, SBStream stream) -> bool 11918 11919 Collects a thread's stop reason extended information dictionary and prints it 11920 into the SBStream in a JSON format. The format of this JSON dictionary depends 11921 on the stop reason and is currently used only for instrumentation plugins. 11922 """ 11923 return _lldb.SBThread_GetStopReasonExtendedInfoAsJSON(self, stream) 11924 11925 def GetStopReasonExtendedBacktraces(self, type): 11926 r""" 11927 GetStopReasonExtendedBacktraces(SBThread self, lldb::InstrumentationRuntimeType type) -> SBThreadCollection 11928 11929 Returns a collection of historical stack traces that are significant to the 11930 current stop reason. Used by ThreadSanitizer, where we provide various stack 11931 traces that were involved in a data race or other type of detected issue. 11932 """ 11933 return _lldb.SBThread_GetStopReasonExtendedBacktraces(self, type) 11934 11935 def GetStopDescription(self, dst_or_null): 11936 r""" 11937 GetStopDescription(SBThread self, char * dst_or_null) -> size_t 11938 11939 Pass only an (int)length and expect to get a Python string describing the 11940 stop reason. 11941 """ 11942 return _lldb.SBThread_GetStopDescription(self, dst_or_null) 11943 11944 def GetStopReturnValue(self): 11945 r"""GetStopReturnValue(SBThread self) -> SBValue""" 11946 return _lldb.SBThread_GetStopReturnValue(self) 11947 11948 def GetThreadID(self): 11949 r""" 11950 GetThreadID(SBThread self) -> lldb::tid_t 11951 11952 Returns a unique thread identifier (type lldb::tid_t, typically a 64-bit type) 11953 for the current SBThread that will remain constant throughout the thread's 11954 lifetime in this process and will not be reused by another thread during this 11955 process lifetime. On Mac OS X systems, this is a system-wide unique thread 11956 identifier; this identifier is also used by other tools like sample which helps 11957 to associate data from those tools with lldb. See related GetIndexID. 11958 """ 11959 return _lldb.SBThread_GetThreadID(self) 11960 11961 def GetIndexID(self): 11962 r""" 11963 GetIndexID(SBThread self) -> uint32_t 11964 11965 Return the index number for this SBThread. The index number is the same thing 11966 that a user gives as an argument to 'thread select' in the command line lldb. 11967 These numbers start at 1 (for the first thread lldb sees in a debug session) 11968 and increments up throughout the process lifetime. An index number will not be 11969 reused for a different thread later in a process - thread 1 will always be 11970 associated with the same thread. See related GetThreadID. 11971 This method returns a uint32_t index number, takes no arguments. 11972 """ 11973 return _lldb.SBThread_GetIndexID(self) 11974 11975 def GetName(self): 11976 r"""GetName(SBThread self) -> char const *""" 11977 return _lldb.SBThread_GetName(self) 11978 11979 def GetQueueName(self): 11980 r""" 11981 GetQueueName(SBThread self) -> char const * 11982 11983 Return the queue name associated with this thread, if any, as a str. 11984 For example, with a libdispatch (aka Grand Central Dispatch) queue. 11985 """ 11986 return _lldb.SBThread_GetQueueName(self) 11987 11988 def GetQueueID(self): 11989 r""" 11990 GetQueueID(SBThread self) -> lldb::queue_id_t 11991 11992 Return the dispatch_queue_id for this thread, if any, as a lldb::queue_id_t. 11993 For example, with a libdispatch (aka Grand Central Dispatch) queue. 11994 """ 11995 return _lldb.SBThread_GetQueueID(self) 11996 11997 def GetInfoItemByPathAsString(self, path, strm): 11998 r""" 11999 GetInfoItemByPathAsString(SBThread self, char const * path, SBStream strm) -> bool 12000 12001 Takes a path string and a SBStream reference as parameters, returns a bool. 12002 Collects the thread's 'info' dictionary from the remote system, uses the path 12003 argument to descend into the dictionary to an item of interest, and prints 12004 it into the SBStream in a natural format. Return bool is to indicate if 12005 anything was printed into the stream (true) or not (false). 12006 """ 12007 return _lldb.SBThread_GetInfoItemByPathAsString(self, path, strm) 12008 12009 def StepOver(self, *args): 12010 r""" 12011 StepOver(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12012 StepOver(SBThread self, lldb::RunMode stop_other_threads, SBError error) 12013 Do a source level single step over in the currently selected thread. 12014 """ 12015 return _lldb.SBThread_StepOver(self, *args) 12016 12017 def StepInto(self, *args): 12018 r""" 12019 StepInto(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12020 StepInto(SBThread self, char const * target_name, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12021 StepInto(SBThread self, char const * target_name, uint32_t end_line, SBError error, lldb::RunMode stop_other_threads=eOnlyDuringStepping) 12022 12023 Step the current thread from the current source line to the line given by end_line, stopping if 12024 the thread steps into the function given by target_name. If target_name is None, then stepping will stop 12025 in any of the places we would normally stop. 12026 """ 12027 return _lldb.SBThread_StepInto(self, *args) 12028 12029 def StepOut(self, *args): 12030 r""" 12031 StepOut(SBThread self) 12032 StepOut(SBThread self, SBError error) 12033 Step out of the currently selected thread. 12034 """ 12035 return _lldb.SBThread_StepOut(self, *args) 12036 12037 def StepOutOfFrame(self, *args): 12038 r""" 12039 StepOutOfFrame(SBThread self, SBFrame frame) 12040 StepOutOfFrame(SBThread self, SBFrame frame, SBError error) 12041 Step out of the specified frame. 12042 """ 12043 return _lldb.SBThread_StepOutOfFrame(self, *args) 12044 12045 def StepInstruction(self, *args): 12046 r""" 12047 StepInstruction(SBThread self, bool step_over) 12048 StepInstruction(SBThread self, bool step_over, SBError error) 12049 Do an instruction level single step in the currently selected thread. 12050 """ 12051 return _lldb.SBThread_StepInstruction(self, *args) 12052 12053 def StepOverUntil(self, frame, file_spec, line): 12054 r"""StepOverUntil(SBThread self, SBFrame frame, SBFileSpec file_spec, uint32_t line) -> SBError""" 12055 return _lldb.SBThread_StepOverUntil(self, frame, file_spec, line) 12056 12057 def StepUsingScriptedThreadPlan(self, *args): 12058 r""" 12059 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name) -> SBError 12060 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, bool resume_immediately) -> SBError 12061 StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, SBStructuredData args_data, bool resume_immediately) -> SBError 12062 """ 12063 return _lldb.SBThread_StepUsingScriptedThreadPlan(self, *args) 12064 12065 def JumpToLine(self, file_spec, line): 12066 r"""JumpToLine(SBThread self, SBFileSpec file_spec, uint32_t line) -> SBError""" 12067 return _lldb.SBThread_JumpToLine(self, file_spec, line) 12068 12069 def RunToAddress(self, *args): 12070 r""" 12071 RunToAddress(SBThread self, lldb::addr_t addr) 12072 RunToAddress(SBThread self, lldb::addr_t addr, SBError error) 12073 """ 12074 return _lldb.SBThread_RunToAddress(self, *args) 12075 12076 def ReturnFromFrame(self, frame, return_value): 12077 r""" 12078 ReturnFromFrame(SBThread self, SBFrame frame, SBValue return_value) -> SBError 12079 12080 Force a return from the frame passed in (and any frames younger than it) 12081 without executing any more code in those frames. If return_value contains 12082 a valid SBValue, that will be set as the return value from frame. Note, at 12083 present only scalar return values are supported. 12084 """ 12085 return _lldb.SBThread_ReturnFromFrame(self, frame, return_value) 12086 12087 def UnwindInnermostExpression(self): 12088 r""" 12089 UnwindInnermostExpression(SBThread self) -> SBError 12090 12091 Unwind the stack frames from the innermost expression evaluation. 12092 This API is equivalent to 'thread return -x'. 12093 """ 12094 return _lldb.SBThread_UnwindInnermostExpression(self) 12095 12096 def Suspend(self, *args): 12097 r""" 12098 Suspend(SBThread self) -> bool 12099 Suspend(SBThread self, SBError error) -> bool 12100 12101 LLDB currently supports process centric debugging which means when any 12102 thread in a process stops, all other threads are stopped. The Suspend() 12103 call here tells our process to suspend a thread and not let it run when 12104 the other threads in a process are allowed to run. So when 12105 SBProcess::Continue() is called, any threads that aren't suspended will 12106 be allowed to run. If any of the SBThread functions for stepping are 12107 called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the 12108 thread will now be allowed to run and these functions will simply return. 12109 12110 Eventually we plan to add support for thread centric debugging where 12111 each thread is controlled individually and each thread would broadcast 12112 its state, but we haven't implemented this yet. 12113 12114 Likewise the SBThread::Resume() call will again allow the thread to run 12115 when the process is continued. 12116 12117 Suspend() and Resume() functions are not currently reference counted, if 12118 anyone has the need for them to be reference counted, please let us 12119 know. 12120 """ 12121 return _lldb.SBThread_Suspend(self, *args) 12122 12123 def Resume(self, *args): 12124 r""" 12125 Resume(SBThread self) -> bool 12126 Resume(SBThread self, SBError error) -> bool 12127 """ 12128 return _lldb.SBThread_Resume(self, *args) 12129 12130 def IsSuspended(self): 12131 r"""IsSuspended(SBThread self) -> bool""" 12132 return _lldb.SBThread_IsSuspended(self) 12133 12134 def IsStopped(self): 12135 r"""IsStopped(SBThread self) -> bool""" 12136 return _lldb.SBThread_IsStopped(self) 12137 12138 def GetNumFrames(self): 12139 r"""GetNumFrames(SBThread self) -> uint32_t""" 12140 return _lldb.SBThread_GetNumFrames(self) 12141 12142 def GetFrameAtIndex(self, idx): 12143 r"""GetFrameAtIndex(SBThread self, uint32_t idx) -> SBFrame""" 12144 return _lldb.SBThread_GetFrameAtIndex(self, idx) 12145 12146 def GetSelectedFrame(self): 12147 r"""GetSelectedFrame(SBThread self) -> SBFrame""" 12148 return _lldb.SBThread_GetSelectedFrame(self) 12149 12150 def SetSelectedFrame(self, frame_idx): 12151 r"""SetSelectedFrame(SBThread self, uint32_t frame_idx) -> SBFrame""" 12152 return _lldb.SBThread_SetSelectedFrame(self, frame_idx) 12153 12154 @staticmethod 12155 def EventIsThreadEvent(event): 12156 r"""EventIsThreadEvent(SBEvent event) -> bool""" 12157 return _lldb.SBThread_EventIsThreadEvent(event) 12158 12159 @staticmethod 12160 def GetStackFrameFromEvent(event): 12161 r"""GetStackFrameFromEvent(SBEvent event) -> SBFrame""" 12162 return _lldb.SBThread_GetStackFrameFromEvent(event) 12163 12164 @staticmethod 12165 def GetThreadFromEvent(event): 12166 r"""GetThreadFromEvent(SBEvent event) -> SBThread""" 12167 return _lldb.SBThread_GetThreadFromEvent(event) 12168 12169 def GetProcess(self): 12170 r"""GetProcess(SBThread self) -> SBProcess""" 12171 return _lldb.SBThread_GetProcess(self) 12172 12173 def __eq__(self, rhs): 12174 r"""__eq__(SBThread self, SBThread rhs) -> bool""" 12175 return _lldb.SBThread___eq__(self, rhs) 12176 12177 def __ne__(self, rhs): 12178 r"""__ne__(SBThread self, SBThread rhs) -> bool""" 12179 return _lldb.SBThread___ne__(self, rhs) 12180 12181 def GetDescription(self, *args): 12182 r""" 12183 GetDescription(SBThread self, SBStream description) -> bool 12184 GetDescription(SBThread self, SBStream description, bool stop_format) -> bool 12185 12186 Get the description strings for this thread that match what the 12187 lldb driver will present, using the thread-format (stop_format==false) 12188 or thread-stop-format (stop_format = true). 12189 """ 12190 return _lldb.SBThread_GetDescription(self, *args) 12191 12192 def GetDescriptionWithFormat(self, format, output): 12193 r"""GetDescriptionWithFormat(SBThread self, SBFormat format, SBStream output) -> SBError""" 12194 return _lldb.SBThread_GetDescriptionWithFormat(self, format, output) 12195 12196 def GetStatus(self, status): 12197 r"""GetStatus(SBThread self, SBStream status) -> bool""" 12198 return _lldb.SBThread_GetStatus(self, status) 12199 12200 def GetExtendedBacktraceThread(self, type): 12201 r""" 12202 GetExtendedBacktraceThread(SBThread self, char const * type) -> SBThread 12203 12204 Given an argument of str to specify the type of thread-origin extended 12205 backtrace to retrieve, query whether the origin of this thread is 12206 available. An SBThread is retured; SBThread.IsValid will return true 12207 if an extended backtrace was available. The returned SBThread is not 12208 a part of the SBProcess' thread list and it cannot be manipulated like 12209 normal threads -- you cannot step or resume it, for instance -- it is 12210 intended to used primarily for generating a backtrace. You may request 12211 the returned thread's own thread origin in turn. 12212 """ 12213 return _lldb.SBThread_GetExtendedBacktraceThread(self, type) 12214 12215 def GetExtendedBacktraceOriginatingIndexID(self): 12216 r""" 12217 GetExtendedBacktraceOriginatingIndexID(SBThread self) -> uint32_t 12218 12219 If this SBThread is an ExtendedBacktrace thread, get the IndexID of the 12220 original thread that this ExtendedBacktrace thread represents, if 12221 available. The thread that was running this backtrace in the past may 12222 not have been registered with lldb's thread index (if it was created, 12223 did its work, and was destroyed without lldb ever stopping execution). 12224 In that case, this ExtendedBacktrace thread's IndexID will be returned. 12225 """ 12226 return _lldb.SBThread_GetExtendedBacktraceOriginatingIndexID(self) 12227 12228 def GetCurrentException(self): 12229 r""" 12230 GetCurrentException(SBThread self) -> SBValue 12231 12232 Returns an SBValue object represeting the current exception for the thread, 12233 if there is any. Currently, this works for Obj-C code and returns an SBValue 12234 representing the NSException object at the throw site or that's currently 12235 being processes. 12236 """ 12237 return _lldb.SBThread_GetCurrentException(self) 12238 12239 def GetCurrentExceptionBacktrace(self): 12240 r""" 12241 GetCurrentExceptionBacktrace(SBThread self) -> SBThread 12242 12243 Returns a historical (fake) SBThread representing the stack trace of an 12244 exception, if there is one for the thread. Currently, this works for Obj-C 12245 code, and can retrieve the throw-site backtrace of an NSException object 12246 even when the program is no longer at the throw site. 12247 """ 12248 return _lldb.SBThread_GetCurrentExceptionBacktrace(self) 12249 12250 def SafeToCallFunctions(self): 12251 r""" 12252 SafeToCallFunctions(SBThread self) -> bool 12253 12254 lldb may be able to detect that function calls should not be executed 12255 on a given thread at a particular point in time. It is recommended that 12256 this is checked before performing an inferior function call on a given 12257 thread. 12258 """ 12259 return _lldb.SBThread_SafeToCallFunctions(self) 12260 12261 def GetSiginfo(self): 12262 r""" 12263 GetSiginfo(SBThread self) -> SBValue 12264 12265 Returns a SBValue object representing the siginfo for the current signal. 12266 12267 """ 12268 return _lldb.SBThread_GetSiginfo(self) 12269 12270 def __repr__(self): 12271 r"""__repr__(SBThread self) -> std::string""" 12272 return _lldb.SBThread___repr__(self) 12273 12274 # operator== is a free function, which swig does not handle, so we inject 12275 # our own equality operator here 12276 def __eq__(self, other): 12277 return not self.__ne__(other) 12278 12279 def __iter__(self): 12280 '''Iterate over all frames in a lldb.SBThread object.''' 12281 return lldb_iter(self, 'GetNumFrames', 'GetFrameAtIndex') 12282 12283 def __len__(self): 12284 '''Return the number of frames in a lldb.SBThread object.''' 12285 return self.GetNumFrames() 12286 12287 class frames_access(object): 12288 '''A helper object that will lazily hand out frames for a thread when supplied an index.''' 12289 def __init__(self, sbthread): 12290 self.sbthread = sbthread 12291 12292 def __len__(self): 12293 if self.sbthread: 12294 return int(self.sbthread.GetNumFrames()) 12295 return 0 12296 12297 def __getitem__(self, key): 12298 if isinstance(key, int): 12299 count = len(self) 12300 if -count <= key < count: 12301 key %= count 12302 return self.sbthread.GetFrameAtIndex(key) 12303 return None 12304 12305 def get_frames_access_object(self): 12306 '''An accessor function that returns a frames_access() object which allows lazy frame access from a lldb.SBThread object.''' 12307 return self.frames_access (self) 12308 12309 def get_thread_frames(self): 12310 '''An accessor function that returns a list() that contains all frames in a lldb.SBThread object.''' 12311 frames = [] 12312 for frame in self: 12313 frames.append(frame) 12314 return frames 12315 12316 id = property(GetThreadID, None, doc='''A read only property that returns the thread ID as an integer.''') 12317 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.''') 12318 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.''') 12319 process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that owns this thread.''') 12320 num_frames = property(GetNumFrames, None, doc='''A read only property that returns the number of stack frames in this thread as an integer.''') 12321 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.''') 12322 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]").''') 12323 name = property(GetName, None, doc='''A read only property that returns the name of this thread as a string.''') 12324 queue = property(GetQueueName, None, doc='''A read only property that returns the dispatch queue name of this thread as a string.''') 12325 queue_id = property(GetQueueID, None, doc='''A read only property that returns the dispatch queue id of this thread as an integer.''') 12326 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.''') 12327 is_suspended = property(IsSuspended, None, doc='''A read only property that returns a boolean value that indicates if this thread is suspended.''') 12328 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.''') 12329 12330 12331 def __eq__(self, rhs): 12332 if not isinstance(rhs, type(self)): 12333 return False 12334 12335 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 12336 12337 def __ne__(self, rhs): 12338 if not isinstance(rhs, type(self)): 12339 return True 12340 12341 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 12342 12343 12344# Register SBThread in _lldb: 12345_lldb.SBThread_swigregister(SBThread) 12346class SBThreadCollection(object): 12347 r"""Represents a collection of SBThread objects.""" 12348 12349 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12350 __repr__ = _swig_repr 12351 12352 def __init__(self, *args): 12353 r""" 12354 __init__(SBThreadCollection self) -> SBThreadCollection 12355 __init__(SBThreadCollection self, SBThreadCollection rhs) -> SBThreadCollection 12356 """ 12357 _lldb.SBThreadCollection_swiginit(self, _lldb.new_SBThreadCollection(*args)) 12358 __swig_destroy__ = _lldb.delete_SBThreadCollection 12359 12360 def __nonzero__(self): 12361 return _lldb.SBThreadCollection___nonzero__(self) 12362 __bool__ = __nonzero__ 12363 12364 12365 12366 def IsValid(self): 12367 r"""IsValid(SBThreadCollection self) -> bool""" 12368 return _lldb.SBThreadCollection_IsValid(self) 12369 12370 def GetSize(self): 12371 r"""GetSize(SBThreadCollection self) -> size_t""" 12372 return _lldb.SBThreadCollection_GetSize(self) 12373 12374 def GetThreadAtIndex(self, idx): 12375 r"""GetThreadAtIndex(SBThreadCollection self, size_t idx) -> SBThread""" 12376 return _lldb.SBThreadCollection_GetThreadAtIndex(self, idx) 12377 12378 12379 def __iter__(self): 12380 '''Iterate over all threads in a lldb.SBThreadCollection object.''' 12381 return lldb_iter(self, 'GetSize', 'GetThreadAtIndex') 12382 12383 def __len__(self): 12384 '''Return the number of threads in a lldb.SBThreadCollection object.''' 12385 return self.GetSize() 12386 12387 12388# Register SBThreadCollection in _lldb: 12389_lldb.SBThreadCollection_swigregister(SBThreadCollection) 12390class SBThreadPlan(object): 12391 r""" 12392 Represents a plan for the execution control of a given thread. 12393 12394 See also :py:class:`SBThread` and :py:class:`SBFrame`. 12395 """ 12396 12397 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12398 __repr__ = _swig_repr 12399 12400 def __init__(self, *args): 12401 r""" 12402 __init__(SBThreadPlan self) -> SBThreadPlan 12403 __init__(SBThreadPlan self, SBThreadPlan threadPlan) -> SBThreadPlan 12404 __init__(SBThreadPlan self, SBThread thread, char const * class_name) -> SBThreadPlan 12405 __init__(SBThreadPlan self, SBThread thread, char const * class_name, SBStructuredData args_data) -> SBThreadPlan 12406 """ 12407 _lldb.SBThreadPlan_swiginit(self, _lldb.new_SBThreadPlan(*args)) 12408 __swig_destroy__ = _lldb.delete_SBThreadPlan 12409 12410 def __nonzero__(self): 12411 return _lldb.SBThreadPlan___nonzero__(self) 12412 __bool__ = __nonzero__ 12413 12414 12415 12416 def Clear(self): 12417 r"""Clear(SBThreadPlan self)""" 12418 return _lldb.SBThreadPlan_Clear(self) 12419 12420 def GetStopReason(self): 12421 r"""GetStopReason(SBThreadPlan self) -> lldb::StopReason""" 12422 return _lldb.SBThreadPlan_GetStopReason(self) 12423 12424 def GetStopReasonDataCount(self): 12425 r""" 12426 GetStopReasonDataCount(SBThreadPlan self) -> size_t 12427 12428 Get the number of words associated with the stop reason. 12429 See also GetStopReasonDataAtIndex(). 12430 """ 12431 return _lldb.SBThreadPlan_GetStopReasonDataCount(self) 12432 12433 def GetStopReasonDataAtIndex(self, idx): 12434 r""" 12435 GetStopReasonDataAtIndex(SBThreadPlan self, uint32_t idx) -> uint64_t 12436 12437 Get information associated with a stop reason. 12438 12439 Breakpoint stop reasons will have data that consists of pairs of 12440 breakpoint IDs followed by the breakpoint location IDs (they always come 12441 in pairs). 12442 12443 Stop Reason Count Data Type 12444 ======================== ===== ========================================= 12445 eStopReasonNone 0 12446 eStopReasonTrace 0 12447 eStopReasonBreakpoint N duple: {breakpoint id, location id} 12448 eStopReasonWatchpoint 1 watchpoint id 12449 eStopReasonSignal 1 unix signal number 12450 eStopReasonException N exception data 12451 eStopReasonExec 0 12452 eStopReasonFork 1 pid of the child process 12453 eStopReasonVFork 1 pid of the child process 12454 eStopReasonVForkDone 0 12455 eStopReasonPlanComplete 0 12456 """ 12457 return _lldb.SBThreadPlan_GetStopReasonDataAtIndex(self, idx) 12458 12459 def GetThread(self): 12460 r"""GetThread(SBThreadPlan self) -> SBThread""" 12461 return _lldb.SBThreadPlan_GetThread(self) 12462 12463 def GetDescription(self, description): 12464 r"""GetDescription(SBThreadPlan self, SBStream description) -> bool""" 12465 return _lldb.SBThreadPlan_GetDescription(self, description) 12466 12467 def SetPlanComplete(self, success): 12468 r"""SetPlanComplete(SBThreadPlan self, bool success)""" 12469 return _lldb.SBThreadPlan_SetPlanComplete(self, success) 12470 12471 def IsPlanComplete(self): 12472 r"""IsPlanComplete(SBThreadPlan self) -> bool""" 12473 return _lldb.SBThreadPlan_IsPlanComplete(self) 12474 12475 def IsPlanStale(self): 12476 r"""IsPlanStale(SBThreadPlan self) -> bool""" 12477 return _lldb.SBThreadPlan_IsPlanStale(self) 12478 12479 def IsValid(self, *args): 12480 r""" 12481 IsValid(SBThreadPlan self) -> bool 12482 IsValid(SBThreadPlan self) -> bool 12483 """ 12484 return _lldb.SBThreadPlan_IsValid(self, *args) 12485 12486 def GetStopOthers(self): 12487 r""" 12488 GetStopOthers(SBThreadPlan self) -> bool 12489 Return whether this plan will ask to stop other threads when it runs. 12490 """ 12491 return _lldb.SBThreadPlan_GetStopOthers(self) 12492 12493 def SetStopOthers(self, stop_others): 12494 r""" 12495 SetStopOthers(SBThreadPlan self, bool stop_others) 12496 Set whether this plan will ask to stop other threads when it runs. 12497 """ 12498 return _lldb.SBThreadPlan_SetStopOthers(self, stop_others) 12499 12500 def QueueThreadPlanForStepOverRange(self, *args): 12501 r""" 12502 QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan 12503 QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan 12504 """ 12505 return _lldb.SBThreadPlan_QueueThreadPlanForStepOverRange(self, *args) 12506 12507 def QueueThreadPlanForStepInRange(self, *args): 12508 r""" 12509 QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan 12510 QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan 12511 """ 12512 return _lldb.SBThreadPlan_QueueThreadPlanForStepInRange(self, *args) 12513 12514 def QueueThreadPlanForStepOut(self, *args): 12515 r""" 12516 QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn=False) -> SBThreadPlan 12517 QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn, SBError error) -> SBThreadPlan 12518 """ 12519 return _lldb.SBThreadPlan_QueueThreadPlanForStepOut(self, *args) 12520 12521 def QueueThreadPlanForRunToAddress(self, *args): 12522 r""" 12523 QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address) -> SBThreadPlan 12524 QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address, SBError error) -> SBThreadPlan 12525 """ 12526 return _lldb.SBThreadPlan_QueueThreadPlanForRunToAddress(self, *args) 12527 12528 def QueueThreadPlanForStepScripted(self, *args): 12529 r""" 12530 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name) -> SBThreadPlan 12531 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBError error) -> SBThreadPlan 12532 QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBStructuredData args_data, SBError error) -> SBThreadPlan 12533 """ 12534 return _lldb.SBThreadPlan_QueueThreadPlanForStepScripted(self, *args) 12535 12536# Register SBThreadPlan in _lldb: 12537_lldb.SBThreadPlan_swigregister(SBThreadPlan) 12538class SBTrace(object): 12539 r"""Represents a processor trace.""" 12540 12541 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12542 __repr__ = _swig_repr 12543 12544 def __init__(self): 12545 r"""__init__(SBTrace self) -> SBTrace""" 12546 _lldb.SBTrace_swiginit(self, _lldb.new_SBTrace()) 12547 12548 @staticmethod 12549 def LoadTraceFromFile(error, debugger, trace_description_file): 12550 r"""LoadTraceFromFile(SBError error, SBDebugger debugger, SBFileSpec trace_description_file) -> SBTrace""" 12551 return _lldb.SBTrace_LoadTraceFromFile(error, debugger, trace_description_file) 12552 12553 def CreateNewCursor(self, error, thread): 12554 r"""CreateNewCursor(SBTrace self, SBError error, SBThread thread) -> SBTraceCursor""" 12555 return _lldb.SBTrace_CreateNewCursor(self, error, thread) 12556 12557 def SaveToDisk(self, error, bundle_dir, compact=False): 12558 r"""SaveToDisk(SBTrace self, SBError error, SBFileSpec bundle_dir, bool compact=False) -> SBFileSpec""" 12559 return _lldb.SBTrace_SaveToDisk(self, error, bundle_dir, compact) 12560 12561 def GetStartConfigurationHelp(self): 12562 r"""GetStartConfigurationHelp(SBTrace self) -> char const *""" 12563 return _lldb.SBTrace_GetStartConfigurationHelp(self) 12564 12565 def Start(self, *args): 12566 r""" 12567 Start(SBTrace self, SBStructuredData configuration) -> SBError 12568 Start(SBTrace self, SBThread thread, SBStructuredData configuration) -> SBError 12569 """ 12570 return _lldb.SBTrace_Start(self, *args) 12571 12572 def Stop(self, *args): 12573 r""" 12574 Stop(SBTrace self) -> SBError 12575 Stop(SBTrace self, SBThread thread) -> SBError 12576 """ 12577 return _lldb.SBTrace_Stop(self, *args) 12578 12579 def __nonzero__(self): 12580 return _lldb.SBTrace___nonzero__(self) 12581 __bool__ = __nonzero__ 12582 12583 12584 12585 def IsValid(self): 12586 r"""IsValid(SBTrace self) -> bool""" 12587 return _lldb.SBTrace_IsValid(self) 12588 __swig_destroy__ = _lldb.delete_SBTrace 12589 12590# Register SBTrace in _lldb: 12591_lldb.SBTrace_swigregister(SBTrace) 12592class SBTraceCursor(object): 12593 r"""Represents a trace cursor.""" 12594 12595 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12596 __repr__ = _swig_repr 12597 12598 def __init__(self): 12599 r"""__init__(SBTraceCursor self) -> SBTraceCursor""" 12600 _lldb.SBTraceCursor_swiginit(self, _lldb.new_SBTraceCursor()) 12601 12602 def SetForwards(self, forwards): 12603 r"""SetForwards(SBTraceCursor self, bool forwards)""" 12604 return _lldb.SBTraceCursor_SetForwards(self, forwards) 12605 12606 def IsForwards(self): 12607 r"""IsForwards(SBTraceCursor self) -> bool""" 12608 return _lldb.SBTraceCursor_IsForwards(self) 12609 12610 def Next(self): 12611 r"""Next(SBTraceCursor self)""" 12612 return _lldb.SBTraceCursor_Next(self) 12613 12614 def HasValue(self): 12615 r"""HasValue(SBTraceCursor self) -> bool""" 12616 return _lldb.SBTraceCursor_HasValue(self) 12617 12618 def GoToId(self, id): 12619 r"""GoToId(SBTraceCursor self, lldb::user_id_t id) -> bool""" 12620 return _lldb.SBTraceCursor_GoToId(self, id) 12621 12622 def HasId(self, id): 12623 r"""HasId(SBTraceCursor self, lldb::user_id_t id) -> bool""" 12624 return _lldb.SBTraceCursor_HasId(self, id) 12625 12626 def GetId(self): 12627 r"""GetId(SBTraceCursor self) -> lldb::user_id_t""" 12628 return _lldb.SBTraceCursor_GetId(self) 12629 12630 def Seek(self, offset, origin): 12631 r"""Seek(SBTraceCursor self, int64_t offset, lldb::TraceCursorSeekType origin) -> bool""" 12632 return _lldb.SBTraceCursor_Seek(self, offset, origin) 12633 12634 def GetItemKind(self): 12635 r"""GetItemKind(SBTraceCursor self) -> lldb::TraceItemKind""" 12636 return _lldb.SBTraceCursor_GetItemKind(self) 12637 12638 def IsError(self): 12639 r"""IsError(SBTraceCursor self) -> bool""" 12640 return _lldb.SBTraceCursor_IsError(self) 12641 12642 def GetError(self): 12643 r"""GetError(SBTraceCursor self) -> char const *""" 12644 return _lldb.SBTraceCursor_GetError(self) 12645 12646 def IsEvent(self): 12647 r"""IsEvent(SBTraceCursor self) -> bool""" 12648 return _lldb.SBTraceCursor_IsEvent(self) 12649 12650 def GetEventType(self): 12651 r"""GetEventType(SBTraceCursor self) -> lldb::TraceEvent""" 12652 return _lldb.SBTraceCursor_GetEventType(self) 12653 12654 def GetEventTypeAsString(self): 12655 r"""GetEventTypeAsString(SBTraceCursor self) -> char const *""" 12656 return _lldb.SBTraceCursor_GetEventTypeAsString(self) 12657 12658 def IsInstruction(self): 12659 r"""IsInstruction(SBTraceCursor self) -> bool""" 12660 return _lldb.SBTraceCursor_IsInstruction(self) 12661 12662 def GetLoadAddress(self): 12663 r"""GetLoadAddress(SBTraceCursor self) -> lldb::addr_t""" 12664 return _lldb.SBTraceCursor_GetLoadAddress(self) 12665 12666 def GetCPU(self): 12667 r"""GetCPU(SBTraceCursor self) -> lldb::cpu_id_t""" 12668 return _lldb.SBTraceCursor_GetCPU(self) 12669 12670 def IsValid(self): 12671 r"""IsValid(SBTraceCursor self) -> bool""" 12672 return _lldb.SBTraceCursor_IsValid(self) 12673 12674 def __nonzero__(self): 12675 return _lldb.SBTraceCursor___nonzero__(self) 12676 __bool__ = __nonzero__ 12677 12678 12679 __swig_destroy__ = _lldb.delete_SBTraceCursor 12680 12681# Register SBTraceCursor in _lldb: 12682_lldb.SBTraceCursor_swigregister(SBTraceCursor) 12683class SBTypeMember(object): 12684 r"""Represents a member of a type.""" 12685 12686 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12687 12688 def __init__(self, *args): 12689 r""" 12690 __init__(SBTypeMember self) -> SBTypeMember 12691 __init__(SBTypeMember self, SBTypeMember rhs) -> SBTypeMember 12692 """ 12693 _lldb.SBTypeMember_swiginit(self, _lldb.new_SBTypeMember(*args)) 12694 __swig_destroy__ = _lldb.delete_SBTypeMember 12695 12696 def __nonzero__(self): 12697 return _lldb.SBTypeMember___nonzero__(self) 12698 __bool__ = __nonzero__ 12699 12700 12701 12702 def IsValid(self): 12703 r"""IsValid(SBTypeMember self) -> bool""" 12704 return _lldb.SBTypeMember_IsValid(self) 12705 12706 def GetName(self): 12707 r"""GetName(SBTypeMember self) -> char const *""" 12708 return _lldb.SBTypeMember_GetName(self) 12709 12710 def GetType(self): 12711 r"""GetType(SBTypeMember self) -> SBType""" 12712 return _lldb.SBTypeMember_GetType(self) 12713 12714 def GetOffsetInBytes(self): 12715 r"""GetOffsetInBytes(SBTypeMember self) -> uint64_t""" 12716 return _lldb.SBTypeMember_GetOffsetInBytes(self) 12717 12718 def GetOffsetInBits(self): 12719 r"""GetOffsetInBits(SBTypeMember self) -> uint64_t""" 12720 return _lldb.SBTypeMember_GetOffsetInBits(self) 12721 12722 def IsBitfield(self): 12723 r"""IsBitfield(SBTypeMember self) -> bool""" 12724 return _lldb.SBTypeMember_IsBitfield(self) 12725 12726 def GetBitfieldSizeInBits(self): 12727 r"""GetBitfieldSizeInBits(SBTypeMember self) -> uint32_t""" 12728 return _lldb.SBTypeMember_GetBitfieldSizeInBits(self) 12729 12730 def GetDescription(self, description, description_level): 12731 r"""GetDescription(SBTypeMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 12732 return _lldb.SBTypeMember_GetDescription(self, description, description_level) 12733 12734 def __repr__(self): 12735 r"""__repr__(SBTypeMember self) -> std::string""" 12736 return _lldb.SBTypeMember___repr__(self) 12737 12738 # operator== is a free function, which swig does not handle, so we inject 12739 # our own equality operator here 12740 def __eq__(self, other): 12741 return not self.__ne__(other) 12742 12743 name = property(GetName, None, doc='''A read only property that returns the name for this member as a string.''') 12744 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this member.''') 12745 byte_offset = property(GetOffsetInBytes, None, doc='''A read only property that returns offset in bytes for this member as an integer.''') 12746 bit_offset = property(GetOffsetInBits, None, doc='''A read only property that returns offset in bits for this member as an integer.''') 12747 is_bitfield = property(IsBitfield, None, doc='''A read only property that returns true if this member is a bitfield.''') 12748 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.''') 12749 12750 12751# Register SBTypeMember in _lldb: 12752_lldb.SBTypeMember_swigregister(SBTypeMember) 12753class SBTypeMemberFunction(object): 12754 r"""Represents a member function of a type.""" 12755 12756 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12757 12758 def __init__(self, *args): 12759 r""" 12760 __init__(SBTypeMemberFunction self) -> SBTypeMemberFunction 12761 __init__(SBTypeMemberFunction self, SBTypeMemberFunction rhs) -> SBTypeMemberFunction 12762 """ 12763 _lldb.SBTypeMemberFunction_swiginit(self, _lldb.new_SBTypeMemberFunction(*args)) 12764 __swig_destroy__ = _lldb.delete_SBTypeMemberFunction 12765 12766 def __nonzero__(self): 12767 return _lldb.SBTypeMemberFunction___nonzero__(self) 12768 __bool__ = __nonzero__ 12769 12770 12771 12772 def IsValid(self): 12773 r"""IsValid(SBTypeMemberFunction self) -> bool""" 12774 return _lldb.SBTypeMemberFunction_IsValid(self) 12775 12776 def GetName(self): 12777 r"""GetName(SBTypeMemberFunction self) -> char const *""" 12778 return _lldb.SBTypeMemberFunction_GetName(self) 12779 12780 def GetDemangledName(self): 12781 r"""GetDemangledName(SBTypeMemberFunction self) -> char const *""" 12782 return _lldb.SBTypeMemberFunction_GetDemangledName(self) 12783 12784 def GetMangledName(self): 12785 r"""GetMangledName(SBTypeMemberFunction self) -> char const *""" 12786 return _lldb.SBTypeMemberFunction_GetMangledName(self) 12787 12788 def GetType(self): 12789 r"""GetType(SBTypeMemberFunction self) -> SBType""" 12790 return _lldb.SBTypeMemberFunction_GetType(self) 12791 12792 def GetReturnType(self): 12793 r"""GetReturnType(SBTypeMemberFunction self) -> SBType""" 12794 return _lldb.SBTypeMemberFunction_GetReturnType(self) 12795 12796 def GetNumberOfArguments(self): 12797 r"""GetNumberOfArguments(SBTypeMemberFunction self) -> uint32_t""" 12798 return _lldb.SBTypeMemberFunction_GetNumberOfArguments(self) 12799 12800 def GetArgumentTypeAtIndex(self, arg2): 12801 r"""GetArgumentTypeAtIndex(SBTypeMemberFunction self, uint32_t arg2) -> SBType""" 12802 return _lldb.SBTypeMemberFunction_GetArgumentTypeAtIndex(self, arg2) 12803 12804 def GetKind(self): 12805 r"""GetKind(SBTypeMemberFunction self) -> lldb::MemberFunctionKind""" 12806 return _lldb.SBTypeMemberFunction_GetKind(self) 12807 12808 def GetDescription(self, description, description_level): 12809 r"""GetDescription(SBTypeMemberFunction self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 12810 return _lldb.SBTypeMemberFunction_GetDescription(self, description, description_level) 12811 12812 def __repr__(self): 12813 r"""__repr__(SBTypeMemberFunction self) -> std::string""" 12814 return _lldb.SBTypeMemberFunction___repr__(self) 12815 12816 # operator== is a free function, which swig does not handle, so we inject 12817 # our own equality operator here 12818 def __eq__(self, other): 12819 return not self.__ne__(other) 12820 12821 12822 12823# Register SBTypeMemberFunction in _lldb: 12824_lldb.SBTypeMemberFunction_swigregister(SBTypeMemberFunction) 12825class SBTypeStaticField(object): 12826 r"""Proxy of C++ lldb::SBTypeStaticField class.""" 12827 12828 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12829 __repr__ = _swig_repr 12830 12831 def __init__(self, *args): 12832 r""" 12833 __init__(SBTypeStaticField self) -> SBTypeStaticField 12834 __init__(SBTypeStaticField self, SBTypeStaticField rhs) -> SBTypeStaticField 12835 """ 12836 _lldb.SBTypeStaticField_swiginit(self, _lldb.new_SBTypeStaticField(*args)) 12837 __swig_destroy__ = _lldb.delete_SBTypeStaticField 12838 12839 def __nonzero__(self): 12840 return _lldb.SBTypeStaticField___nonzero__(self) 12841 __bool__ = __nonzero__ 12842 12843 12844 12845 def IsValid(self): 12846 r"""IsValid(SBTypeStaticField self) -> bool""" 12847 return _lldb.SBTypeStaticField_IsValid(self) 12848 12849 def GetName(self): 12850 r"""GetName(SBTypeStaticField self) -> char const *""" 12851 return _lldb.SBTypeStaticField_GetName(self) 12852 12853 def GetMangledName(self): 12854 r"""GetMangledName(SBTypeStaticField self) -> char const *""" 12855 return _lldb.SBTypeStaticField_GetMangledName(self) 12856 12857 def GetType(self): 12858 r"""GetType(SBTypeStaticField self) -> SBType""" 12859 return _lldb.SBTypeStaticField_GetType(self) 12860 12861 def GetConstantValue(self, target): 12862 r"""GetConstantValue(SBTypeStaticField self, SBTarget target) -> SBValue""" 12863 return _lldb.SBTypeStaticField_GetConstantValue(self, target) 12864 12865# Register SBTypeStaticField in _lldb: 12866_lldb.SBTypeStaticField_swigregister(SBTypeStaticField) 12867class SBType(object): 12868 r""" 12869 Represents a data type in lldb. 12870 12871 The actual characteristics of each type are defined by the semantics of the 12872 programming language and the specific language implementation that was used 12873 to compile the target program. See the language-specific notes in the 12874 documentation of each method. 12875 12876 SBType instances can be obtained by a variety of methods. 12877 `SBTarget.FindFirstType` and `SBModule.FindFirstType` can be used to create 12878 `SBType` representations of types in executables/libraries with debug 12879 information. For some languages such as C, C++ and Objective-C it is possible 12880 to create new types by evaluating expressions that define a new type. 12881 12882 Note that most `SBType` properties are computed independently of any runtime 12883 information so for dynamic languages the functionality can be very limited. 12884 `SBValue` can be used to represent runtime values which then can be more 12885 accurately queried for certain information such as byte size. 12886 12887 12888 SBType supports the eq/ne operator. For example,:: 12889 12890 //main.cpp: 12891 12892 class Task { 12893 public: 12894 int id; 12895 Task *next; 12896 Task(int i, Task *n): 12897 id(i), 12898 next(n) 12899 {} 12900 }; 12901 12902 int main (int argc, char const *argv[]) 12903 { 12904 Task *task_head = new Task(-1, NULL); 12905 Task *task1 = new Task(1, NULL); 12906 Task *task2 = new Task(2, NULL); 12907 Task *task3 = new Task(3, NULL); // Orphaned. 12908 Task *task4 = new Task(4, NULL); 12909 Task *task5 = new Task(5, NULL); 12910 12911 task_head->next = task1; 12912 task1->next = task2; 12913 task2->next = task4; 12914 task4->next = task5; 12915 12916 int total = 0; 12917 Task *t = task_head; 12918 while (t != NULL) { 12919 if (t->id >= 0) 12920 ++total; 12921 t = t->next; 12922 } 12923 printf('We have a total number of %d tasks\n', total); 12924 12925 // This corresponds to an empty task list. 12926 Task *empty_task_head = new Task(-1, NULL); 12927 12928 return 0; // Break at this line 12929 } 12930 12931 # find_type.py: 12932 12933 # Get the type 'Task'. 12934 task_type = target.FindFirstType('Task') 12935 self.assertTrue(task_type) 12936 12937 # Get the variable 'task_head'. 12938 frame0.FindVariable('task_head') 12939 task_head_type = task_head.GetType() 12940 self.assertTrue(task_head_type.IsPointerType()) 12941 12942 # task_head_type is 'Task *'. 12943 task_pointer_type = task_type.GetPointerType() 12944 self.assertTrue(task_head_type == task_pointer_type) 12945 12946 # Get the child mmember 'id' from 'task_head'. 12947 id = task_head.GetChildMemberWithName('id') 12948 id_type = id.GetType() 12949 12950 # SBType.GetBasicType() takes an enum 'BasicType' (lldb-enumerations.h). 12951 int_type = id_type.GetBasicType(lldb.eBasicTypeInt) 12952 # id_type and int_type should be the same type! 12953 self.assertTrue(id_type == int_type) 12954 12955 12956 """ 12957 12958 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 12959 12960 def __init__(self, *args): 12961 r""" 12962 __init__(SBType self) -> SBType 12963 __init__(SBType self, SBType rhs) -> SBType 12964 """ 12965 _lldb.SBType_swiginit(self, _lldb.new_SBType(*args)) 12966 __swig_destroy__ = _lldb.delete_SBType 12967 12968 def __nonzero__(self): 12969 return _lldb.SBType___nonzero__(self) 12970 __bool__ = __nonzero__ 12971 12972 12973 12974 def IsValid(self): 12975 r"""IsValid(SBType self) -> bool""" 12976 return _lldb.SBType_IsValid(self) 12977 12978 def GetByteSize(self): 12979 r""" 12980 GetByteSize(SBType self) -> uint64_t 12981 Returns the number of bytes a variable with the given types occupies in memory. 12982 12983 Returns ``0`` if the size can't be determined. 12984 12985 If a type occupies ``N`` bytes + ``M`` bits in memory, this function returns 12986 the rounded up amount of bytes (i.e., if ``M`` is ``0``, 12987 this function returns ``N`` and otherwise ``N + 1``). 12988 12989 Language-specific behaviour: 12990 12991 * C: The output is expected to match the value of ``sizeof(Type)``. If 12992 ``sizeof(Type)`` is not a valid expression for the given type, the 12993 function returns ``0``. 12994 * C++: Same as in C. 12995 * Objective-C: Same as in C. For Objective-C classes this always returns 12996 ``0`` as the actual size depends on runtime information. 12997 12998 """ 12999 return _lldb.SBType_GetByteSize(self) 13000 13001 def GetByteAlign(self): 13002 r"""GetByteAlign(SBType self) -> uint64_t""" 13003 return _lldb.SBType_GetByteAlign(self) 13004 13005 def IsPointerType(self): 13006 r""" 13007 IsPointerType(SBType self) -> bool 13008 Returns true if this type is a pointer type. 13009 13010 Language-specific behaviour: 13011 13012 * C: Returns true for C pointer types (or typedefs of these types). 13013 * C++: Pointer types include the C pointer types as well as pointers to data 13014 mebers or member functions. 13015 * Objective-C: Pointer types include the C pointer types. ``id``, ``Class`` 13016 and pointers to blocks are also considered pointer types. 13017 13018 """ 13019 return _lldb.SBType_IsPointerType(self) 13020 13021 def IsReferenceType(self): 13022 r""" 13023 IsReferenceType(SBType self) -> bool 13024 Returns true if this type is a reference type. 13025 13026 Language-specific behaviour: 13027 13028 * C: Returns false for all types. 13029 * C++: Both l-value and r-value references are considered reference types. 13030 * Objective-C: Returns false for all types. 13031 13032 """ 13033 return _lldb.SBType_IsReferenceType(self) 13034 13035 def IsFunctionType(self): 13036 r"""IsFunctionType(SBType self) -> bool""" 13037 return _lldb.SBType_IsFunctionType(self) 13038 13039 def IsPolymorphicClass(self): 13040 r""" 13041 IsPolymorphicClass(SBType self) -> bool 13042 Returns true if this type is a polymorphic type. 13043 13044 Language-specific behaviour: 13045 13046 * C: Returns false for all types. 13047 * C++: Returns true if the type is a class type that contains at least one 13048 virtual member function or if at least one of its base classes is 13049 considered a polymorphic type. 13050 * Objective-C: Returns false for all types. 13051 13052 """ 13053 return _lldb.SBType_IsPolymorphicClass(self) 13054 13055 def IsArrayType(self): 13056 r""" 13057 IsArrayType(SBType self) -> bool 13058 Returns true if this type is an array type. 13059 13060 Language-specific behaviour: 13061 13062 * C: Returns true if the types is an array type. This includes incomplete 13063 array types ``T[]`` and array types with integer (``T[1]``) or variable 13064 length (``T[some_variable]``). Pointer types are not considered arrays. 13065 * C++: Includes C's array types and dependent array types (i.e., array types 13066 in templates which size depends on template arguments). 13067 * Objective-C: Same as in C. 13068 13069 """ 13070 return _lldb.SBType_IsArrayType(self) 13071 13072 def IsVectorType(self): 13073 r""" 13074 IsVectorType(SBType self) -> bool 13075 Returns true if this type is a vector type. 13076 13077 Language-specific behaviour: 13078 13079 * C: Returns true if the types is a vector type created with 13080 GCC's ``vector_size`` or Clang's ``ext_vector_type`` feature. 13081 * C++: Same as in C. 13082 * Objective-C: Same as in C. 13083 13084 """ 13085 return _lldb.SBType_IsVectorType(self) 13086 13087 def IsTypedefType(self): 13088 r""" 13089 IsTypedefType(SBType self) -> bool 13090 Returns true if this type is a typedef. 13091 13092 Language-specific behaviour: 13093 13094 * C: Returns true if the type is a C typedef. 13095 * C++: Same as in C. Also treats type aliases as typedefs. 13096 * Objective-C: Same as in C. 13097 13098 """ 13099 return _lldb.SBType_IsTypedefType(self) 13100 13101 def IsAnonymousType(self): 13102 r""" 13103 IsAnonymousType(SBType self) -> bool 13104 Returns true if this type is an anonymous type. 13105 13106 Language-specific behaviour: 13107 13108 * C: Returns true for anonymous unions. Also returns true for 13109 anonymous structs (which are a GNU language extension). 13110 * C++: Same as in C. 13111 * Objective-C: Same as in C. 13112 13113 """ 13114 return _lldb.SBType_IsAnonymousType(self) 13115 13116 def IsScopedEnumerationType(self): 13117 r""" 13118 IsScopedEnumerationType(SBType self) -> bool 13119 Returns true if this type is a scoped enum. 13120 13121 Language-specific behaviour: 13122 13123 * C: Returns false for all types. 13124 * C++: Return true only for C++11 scoped enums. 13125 * Objective-C: Returns false for all types. 13126 13127 """ 13128 return _lldb.SBType_IsScopedEnumerationType(self) 13129 13130 def IsAggregateType(self): 13131 r""" 13132 IsAggregateType(SBType self) -> bool 13133 Returns true if this type is an aggregate type. 13134 13135 Language-specific behaviour: 13136 13137 * C: Returns true for struct values, arrays, and vectors. 13138 * C++: Same a C. Also includes class instances. 13139 * Objective-C: Same as C. Also includes class instances. 13140 13141 """ 13142 return _lldb.SBType_IsAggregateType(self) 13143 13144 def GetPointerType(self): 13145 r""" 13146 GetPointerType(SBType self) -> SBType 13147 Returns a type that represents a pointer to this type. 13148 13149 If the type system of the current language can't represent a pointer to this 13150 type or this type is invalid, an invalid `SBType` is returned. 13151 13152 Language-specific behaviour: 13153 13154 * C: Returns the pointer type of this type. 13155 * C++: Same as in C. 13156 * Objective-C: Same as in C. 13157 13158 """ 13159 return _lldb.SBType_GetPointerType(self) 13160 13161 def GetPointeeType(self): 13162 r""" 13163 GetPointeeType(SBType self) -> SBType 13164 Returns the underlying pointee type. 13165 13166 If this type is a pointer type as specified by `IsPointerType` then this 13167 returns the underlying type. If this is not a pointer type or an invalid 13168 `SBType` then this returns an invalid `SBType`. 13169 13170 Language-specific behaviour: 13171 13172 * C: Returns the underlying type for for C pointer types or typedefs of 13173 these types). For example, ``int *`` will return ``int``. 13174 * C++: Same as in C. Returns an `SBType` representation for data members/ 13175 member functions in case the `SBType` is a pointer to data member or 13176 pointer to member function. 13177 * Objective-C: Same as in C. The pointee type of ``id`` and ``Class`` is 13178 an invalid `SBType`. The pointee type of pointers Objective-C types is an 13179 `SBType` for the non-pointer type of the respective type. For example, 13180 ``NSString *`` will return ``NSString`` as a pointee type. 13181 13182 """ 13183 return _lldb.SBType_GetPointeeType(self) 13184 13185 def GetReferenceType(self): 13186 r""" 13187 GetReferenceType(SBType self) -> SBType 13188 Returns a type that represents a reference to this type. 13189 13190 If the type system of the current language can't represent a reference to 13191 this type, an invalid `SBType` is returned. 13192 13193 Language-specific behaviour: 13194 13195 * C: Currently assumes the type system is C++ and returns an l-value 13196 reference type. For example, ``int`` will return ``int&``. This behavior 13197 is likely to change in the future and shouldn't be relied on. 13198 * C++: Same as in C. 13199 * Objective-C: Same as in C. 13200 13201 """ 13202 return _lldb.SBType_GetReferenceType(self) 13203 13204 def GetTypedefedType(self): 13205 r""" 13206 GetTypedefedType(SBType self) -> SBType 13207 Returns the underlying type of a typedef. 13208 13209 If this type is a typedef as designated by `IsTypedefType`, then the 13210 underlying type is being returned. Otherwise an invalid `SBType` is 13211 returned. 13212 13213 Language-specific behaviour: 13214 13215 * C: Returns the underlying type of a typedef type. 13216 * C++: Same as in C. For type aliases, the underlying type is returned. 13217 * Objective-C: Same as in C. 13218 13219 """ 13220 return _lldb.SBType_GetTypedefedType(self) 13221 13222 def GetDereferencedType(self): 13223 r""" 13224 GetDereferencedType(SBType self) -> SBType 13225 Returns the underlying type of a reference type. 13226 13227 If this type is a reference as designated by `IsReferenceType`, then the 13228 underlying type is being returned. Otherwise an invalid `SBType` is 13229 returned. 13230 13231 Language-specific behaviour: 13232 13233 * C: Always returns an invalid type. 13234 * C++: For l-value and r-value references the underlying type is returned. 13235 For example, ``int &`` will return ``int``. 13236 * Objective-C: Same as in C. 13237 13238 """ 13239 return _lldb.SBType_GetDereferencedType(self) 13240 13241 def GetUnqualifiedType(self): 13242 r""" 13243 GetUnqualifiedType(SBType self) -> SBType 13244 Returns the unqualified version of this type. 13245 13246 Language-specific behaviour: 13247 13248 * C: If this type with any const or volatile specifier removed. 13249 * C++: Same as in C. 13250 * Objective-C: Same as in C. 13251 13252 """ 13253 return _lldb.SBType_GetUnqualifiedType(self) 13254 13255 def GetArrayElementType(self): 13256 r""" 13257 GetArrayElementType(SBType self) -> SBType 13258 Returns the array element type if this type is an array type. 13259 13260 Otherwise returns an invalid `SBType` if this type is invalid or not an 13261 array type. 13262 13263 Language-specific behaviour: 13264 13265 * C: If this is an array type (see `IsArrayType`) such as ``T[]``, returns 13266 the element type. 13267 * C++: Same as in C. 13268 * Objective-C: Same as in C. 13269 13270 See also `IsArrayType`. 13271 13272 """ 13273 return _lldb.SBType_GetArrayElementType(self) 13274 13275 def GetArrayType(self, size): 13276 r""" 13277 GetArrayType(SBType self, uint64_t size) -> SBType 13278 Returns the array type with the given constant size. 13279 13280 Language-specific behaviour: 13281 13282 * C: Returns a constant-size array ``T[size]`` for any non-void type. 13283 * C++: Same as in C. 13284 * Objective-C: Same as in C. 13285 13286 See also `IsArrayType` and `GetArrayElementType`. 13287 13288 """ 13289 return _lldb.SBType_GetArrayType(self, size) 13290 13291 def GetVectorElementType(self): 13292 r""" 13293 GetVectorElementType(SBType self) -> SBType 13294 Returns the vector element type if this type is a vector type. 13295 13296 Otherwise returns an invalid `SBType` if this type is invalid or not a 13297 vector type. 13298 13299 Language-specific behaviour: 13300 13301 * C: If this is a vector type (see `IsVectorType`), returns the element 13302 type. 13303 * C++: Same as in C. 13304 * Objective-C: Same as in C. 13305 13306 See also `IsVectorType`. 13307 13308 """ 13309 return _lldb.SBType_GetVectorElementType(self) 13310 13311 def GetCanonicalType(self): 13312 r"""GetCanonicalType(SBType self) -> SBType""" 13313 return _lldb.SBType_GetCanonicalType(self) 13314 13315 def GetEnumerationIntegerType(self): 13316 r""" 13317 GetEnumerationIntegerType(SBType self) -> SBType 13318 Returns the underlying integer type if this is an enumeration type. 13319 13320 If this type is an invalid `SBType` or not an enumeration type an invalid 13321 `SBType` is returned. 13322 13323 Language-specific behaviour: 13324 13325 * C: Returns the underlying type for enums. 13326 * C++: Same as in C but also returns the underlying type for scoped enums. 13327 * Objective-C: Same as in C. 13328 13329 """ 13330 return _lldb.SBType_GetEnumerationIntegerType(self) 13331 13332 def GetBasicType(self, *args): 13333 r""" 13334 GetBasicType(SBType self) -> lldb::BasicType 13335 GetBasicType(SBType self, lldb::BasicType type) -> SBType 13336 Returns the `BasicType` value that is most appropriate to this type. 13337 13338 Returns `eBasicTypeInvalid` if no appropriate `BasicType` was found or this 13339 type is invalid. See the `BasicType` documentation for the language-specific 13340 meaning of each `BasicType` value. 13341 13342 **Overload behaviour:** When called with a `BasicType` parameter, the 13343 following behaviour applies: 13344 13345 Returns the `SBType` that represents the passed `BasicType` value. Returns 13346 an invalid `SBType` if no fitting `SBType` could be created. 13347 13348 Language-specific behaviour: 13349 13350 * C: Returns the respective builtin type. Note that some types 13351 (e.g. ``__uint128_t``) might even be successfully created even if they are 13352 not available on the target platform. C++ and Objective-C specific types 13353 might also be created even if the target program is not written in C++ or 13354 Objective-C. 13355 * C++: Same as in C. 13356 * Objective-C: Same as in C. 13357 13358 """ 13359 return _lldb.SBType_GetBasicType(self, *args) 13360 13361 def GetNumberOfFields(self): 13362 r""" 13363 GetNumberOfFields(SBType self) -> uint32_t 13364 Returns the number of fields of this type. 13365 13366 Returns ``0`` if this type does not have fields. 13367 13368 Language-specific behaviour: 13369 13370 * C: Returns the number of fields if the type is a struct. If the type 13371 contains an anonymous struct/union it only counts as a single field (even 13372 if the struct/union contains several fields). 13373 * C++: Returns the number of non-static fields if the type is a 13374 struct/class. If the type contains an anonymous struct/union it only 13375 counts as a single field (even if the struct/union contains several 13376 fields). The fields of any base classes are not included in the count. 13377 * Objective-C: Same as in C for structs. For Objective-C classes the number 13378 of ivars is returned. 13379 13380 See also `GetFieldAtIndex`. 13381 13382 """ 13383 return _lldb.SBType_GetNumberOfFields(self) 13384 13385 def GetNumberOfDirectBaseClasses(self): 13386 r""" 13387 GetNumberOfDirectBaseClasses(SBType self) -> uint32_t 13388 Returns the number of base/parent classes of this type. 13389 13390 Returns ``0`` if this type doesn't have any base classes. 13391 13392 Language-specific behaviour: 13393 13394 * C: Returns always ``0``. 13395 * C++: The number of direct non-virtual base classes if this type is 13396 a class. 13397 * Objective-C: The number of super classes for Objective-C classes. 13398 As Objective-C doesn't have multiple inheritance this is usually returns 1 13399 except for NSObject. 13400 13401 """ 13402 return _lldb.SBType_GetNumberOfDirectBaseClasses(self) 13403 13404 def GetNumberOfVirtualBaseClasses(self): 13405 r""" 13406 GetNumberOfVirtualBaseClasses(SBType self) -> uint32_t 13407 Returns the number of virtual base/parent classes of this type 13408 13409 Returns ``0`` if this type doesn't have any base classes. 13410 13411 Language-specific behaviour: 13412 13413 * C: Returns always ``0``. 13414 * C++: The number of direct virtual base classes if this type is a 13415 class. 13416 * Objective-C: Returns always ``0``. 13417 13418 """ 13419 return _lldb.SBType_GetNumberOfVirtualBaseClasses(self) 13420 13421 def GetFieldAtIndex(self, idx): 13422 r""" 13423 GetFieldAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13424 Returns the field at the given index. 13425 13426 Returns an invalid `SBType` if the index is out of range or the current 13427 type doesn't have any fields. 13428 13429 Language-specific behaviour: 13430 13431 * C: Returns the field with the given index for struct types. Fields are 13432 ordered/indexed starting from ``0`` for the first field in a struct (as 13433 declared in the definition). 13434 * C++: Returns the non-static field with the given index for struct types. 13435 Fields are ordered/indexed starting from ``0`` for the first field in a 13436 struct (as declared in the definition). 13437 * Objective-C: Same as in C for structs. For Objective-C classes the ivar 13438 with the given index is returned. ivars are indexed starting from ``0``. 13439 13440 """ 13441 return _lldb.SBType_GetFieldAtIndex(self, idx) 13442 13443 def GetDirectBaseClassAtIndex(self, idx): 13444 r""" 13445 GetDirectBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13446 Returns the direct base class as indexed by `GetNumberOfDirectBaseClasses`. 13447 13448 Returns an invalid SBTypeMember if the index is invalid or this SBType is 13449 invalid. 13450 13451 """ 13452 return _lldb.SBType_GetDirectBaseClassAtIndex(self, idx) 13453 13454 def GetVirtualBaseClassAtIndex(self, idx): 13455 r""" 13456 GetVirtualBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember 13457 Returns the virtual base class as indexed by 13458 `GetNumberOfVirtualBaseClasses`. 13459 13460 Returns an invalid SBTypeMember if the index is invalid or this SBType is 13461 invalid. 13462 13463 """ 13464 return _lldb.SBType_GetVirtualBaseClassAtIndex(self, idx) 13465 13466 def GetStaticFieldWithName(self, name): 13467 r"""GetStaticFieldWithName(SBType self, char const * name) -> SBTypeStaticField""" 13468 return _lldb.SBType_GetStaticFieldWithName(self, name) 13469 13470 def GetEnumMembers(self): 13471 r"""GetEnumMembers(SBType self) -> SBTypeEnumMemberList""" 13472 return _lldb.SBType_GetEnumMembers(self) 13473 13474 def GetNumberOfTemplateArguments(self): 13475 r""" 13476 GetNumberOfTemplateArguments(SBType self) -> uint32_t 13477 Returns the number of template arguments of this type. 13478 13479 Returns ``0`` if this type is not a template. 13480 13481 Language-specific behaviour: 13482 13483 * C: Always returns ``0``. 13484 * C++: If this type is a class template instantiation then this returns the 13485 number of template parameters that were used in this instantiation. This 13486 includes both explicit and implicit template parameters. 13487 * Objective-C: Always returns ``0``. 13488 13489 """ 13490 return _lldb.SBType_GetNumberOfTemplateArguments(self) 13491 13492 def GetTemplateArgumentType(self, idx): 13493 r""" 13494 GetTemplateArgumentType(SBType self, uint32_t idx) -> SBType 13495 Returns the type of the template argument with the given index. 13496 13497 Returns an invalid `SBType` if there is no template argument with the given 13498 index or this type is not a template. The first template argument has the 13499 index ``0``. 13500 13501 Language-specific behaviour: 13502 13503 * C: Always returns an invalid SBType. 13504 * C++: If this type is a class template instantiation and the template 13505 parameter with the given index is a type template parameter, then this 13506 returns the type of that parameter. Otherwise returns an invalid `SBType`. 13507 * Objective-C: Always returns an invalid SBType. 13508 13509 """ 13510 return _lldb.SBType_GetTemplateArgumentType(self, idx) 13511 13512 def GetTemplateArgumentKind(self, idx): 13513 r""" 13514 GetTemplateArgumentKind(SBType self, uint32_t idx) -> lldb::TemplateArgumentKind 13515 Returns the kind of the template argument with the given index. 13516 13517 Returns `eTemplateArgumentKindNull` if there is no template argument 13518 with the given index or this type is not a template. The first template 13519 argument has the index ``0``. 13520 13521 Language-specific behaviour: 13522 13523 * C: Always returns `eTemplateArgumentKindNull`. 13524 * C++: If this type is a class template instantiation then this returns 13525 the appropriate `TemplateArgument` value for the parameter with the given 13526 index. See the documentation of `TemplateArgument` for how certain C++ 13527 template parameter kinds are mapped to `TemplateArgument` values. 13528 * Objective-C: Always returns `eTemplateArgumentKindNull`. 13529 13530 """ 13531 return _lldb.SBType_GetTemplateArgumentKind(self, idx) 13532 13533 def GetFunctionReturnType(self): 13534 r""" 13535 GetFunctionReturnType(SBType self) -> SBType 13536 Returns the return type if this type represents a function. 13537 13538 Returns an invalid `SBType` if this type is not a function type or invalid. 13539 13540 Language-specific behaviour: 13541 13542 * C: For functions return the return type. Returns an invalid `SBType` if 13543 this type is a function pointer type. 13544 * C++: Same as in C for functions and instantiated template functions. 13545 Member functions are also considered functions. For functions that have 13546 their return type specified by a placeholder type specifier (``auto``) 13547 this returns the deduced return type. 13548 * Objective-C: Same as in C for functions. For Objective-C methods this 13549 returns the return type of the method. 13550 13551 """ 13552 return _lldb.SBType_GetFunctionReturnType(self) 13553 13554 def GetFunctionArgumentTypes(self): 13555 r""" 13556 GetFunctionArgumentTypes(SBType self) -> SBTypeList 13557 Returns the list of argument types if this type represents a function. 13558 13559 Returns an invalid `SBType` if this type is not a function type or invalid. 13560 13561 Language-specific behaviour: 13562 13563 * C: For functions return the types of each parameter. Returns an invalid 13564 `SBType` if this type is a function pointer. For variadic functions this 13565 just returns the list of parameters before the variadic arguments. 13566 * C++: Same as in C for functions and instantiated template functions. 13567 Member functions are also considered functions. 13568 * Objective-C: Always returns an invalid SBType for Objective-C methods. 13569 13570 """ 13571 return _lldb.SBType_GetFunctionArgumentTypes(self) 13572 13573 def GetNumberOfMemberFunctions(self): 13574 r""" 13575 GetNumberOfMemberFunctions(SBType self) -> uint32_t 13576 Returns the number of member functions of this type. 13577 13578 Returns ``0`` if an error occurred or this type is invalid. 13579 13580 Language-specific behaviour: 13581 13582 * C: Always returns ``0``. 13583 * C++: If this type represents a struct/class, then the number of 13584 member functions (static and non-static) is returned. The count includes 13585 constructors and destructors (both explicit and implicit). Member 13586 functions of base classes are not included in the count. 13587 * Objective-C: If this type represents a struct/class, then the 13588 number of methods is returned. Methods in categories or super classes 13589 are not counted. 13590 13591 """ 13592 return _lldb.SBType_GetNumberOfMemberFunctions(self) 13593 13594 def GetMemberFunctionAtIndex(self, idx): 13595 r""" 13596 GetMemberFunctionAtIndex(SBType self, uint32_t idx) -> SBTypeMemberFunction 13597 Returns the member function of this type with the given index. 13598 13599 Returns an invalid `SBTypeMemberFunction` if the index is invalid or this 13600 type is invalid. 13601 13602 Language-specific behaviour: 13603 13604 * C: Always returns an invalid `SBTypeMemberFunction`. 13605 * C++: Returns the member function or constructor/destructor with the given 13606 index. 13607 * Objective-C: Returns the method with the given index. 13608 13609 See `GetNumberOfMemberFunctions` for what functions can be queried by this 13610 function. 13611 13612 """ 13613 return _lldb.SBType_GetMemberFunctionAtIndex(self, idx) 13614 13615 def GetModule(self): 13616 r""" 13617 GetModule(SBType self) -> SBModule 13618 Returns the `SBModule` this `SBType` belongs to. 13619 13620 Returns no `SBModule` if this type does not belong to any specific 13621 `SBModule` or this `SBType` is invalid. An invalid `SBModule` might also 13622 indicate that once came from an `SBModule` but LLDB could no longer 13623 determine the original module. 13624 13625 """ 13626 return _lldb.SBType_GetModule(self) 13627 13628 def GetName(self): 13629 r""" 13630 GetName() -> string 13631 Returns the name of this type. 13632 13633 Returns an empty string if an error occurred or this type is invalid. 13634 13635 Use this function when trying to match a specific type by name in a script. 13636 The names returned by this function try to uniquely identify a name but 13637 conflicts can occur (for example, if a C++ program contains two different 13638 classes with the same name in different translation units. `GetName` can 13639 return the same name for both class types.) 13640 13641 13642 Language-specific behaviour: 13643 13644 * C: The name of the type. For structs the ``struct`` prefix is omitted. 13645 * C++: Returns the qualified name of the type (including anonymous/inline 13646 namespaces and all template arguments). 13647 * Objective-C: Same as in C. 13648 13649 """ 13650 return _lldb.SBType_GetName(self) 13651 13652 def GetDisplayTypeName(self): 13653 r""" 13654 GetDisplayTypeName() -> string 13655 Returns the name of this type in a user-friendly format. 13656 13657 Returns an empty string if an error occurred or this type is invalid. 13658 13659 Use this function when displaying a type name to the user. 13660 13661 Language-specific behaviour: 13662 13663 * C: Returns the type name. For structs the ``struct`` prefix is omitted. 13664 * C++: Returns the qualified name. Anonymous/inline namespaces are omitted. 13665 Template arguments that match their default value might also be hidden 13666 (this functionality depends on whether LLDB can determine the template's 13667 default arguments). 13668 * Objective-C: Same as in C. 13669 13670 """ 13671 return _lldb.SBType_GetDisplayTypeName(self) 13672 13673 def GetTypeClass(self): 13674 r""" 13675 GetTypeClass() -> TypeClass 13676 Returns the `TypeClass` for this type. 13677 13678 Returns an `eTypeClassInvalid` if this `SBType` is invalid. 13679 13680 See `TypeClass` for the language-specific meaning of each `TypeClass` value. 13681 13682 """ 13683 return _lldb.SBType_GetTypeClass(self) 13684 13685 def IsTypeComplete(self): 13686 r""" 13687 IsTypeComplete(SBType self) -> bool 13688 Returns true if the type is completely defined. 13689 13690 Language-specific behaviour: 13691 13692 * C: Returns false for struct types that were only forward declared in the 13693 type's `SBTarget`/`SBModule`. Otherwise returns true. 13694 * C++: Returns false for template/non-template struct/class types and 13695 scoped enums that were only forward declared inside the type's 13696 `SBTarget`/`SBModule`. Otherwise returns true. 13697 * Objective-C: Follows the same behavior as C for struct types. Objective-C 13698 classes are considered complete unless they were only forward declared via 13699 ``@class ClassName`` in the type's `SBTarget`/`SBModule`. Otherwise 13700 returns true. 13701 13702 """ 13703 return _lldb.SBType_IsTypeComplete(self) 13704 13705 def GetTypeFlags(self): 13706 r""" 13707 GetTypeFlags(SBType self) -> uint32_t 13708 Returns the `TypeFlags` values for this type. 13709 13710 See the respective `TypeFlags` values for what values can be set. Returns an 13711 integer in which each `TypeFlags` value is represented by a bit. Specific 13712 flags can be checked via Python's bitwise operators. For example, the 13713 `eTypeIsInteger` flag can be checked like this: 13714 13715 ``(an_sb_type.GetTypeFlags() & lldb.eTypeIsInteger) != 0`` 13716 13717 If this type is invalid this returns ``0``. 13718 13719 See the different values for `TypeFlags` for the language-specific meanings 13720 of each `TypeFlags` value. 13721 13722 """ 13723 return _lldb.SBType_GetTypeFlags(self) 13724 13725 def GetDescription(self, description, description_level): 13726 r"""GetDescription(SBType self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 13727 return _lldb.SBType_GetDescription(self, description, description_level) 13728 13729 def FindDirectNestedType(self, name): 13730 r""" 13731 FindDirectNestedType(SBType self, char const * name) -> SBType 13732 Searches for a directly nested type that has the provided name. 13733 13734 Returns the type if it was found. 13735 Returns invalid type if nothing was found. 13736 13737 """ 13738 return _lldb.SBType_FindDirectNestedType(self, name) 13739 13740 def __eq__(self, rhs): 13741 r"""__eq__(SBType self, SBType rhs) -> bool""" 13742 return _lldb.SBType___eq__(self, rhs) 13743 13744 def __ne__(self, rhs): 13745 r"""__ne__(SBType self, SBType rhs) -> bool""" 13746 return _lldb.SBType___ne__(self, rhs) 13747 13748 def __repr__(self): 13749 r"""__repr__(SBType self) -> std::string""" 13750 return _lldb.SBType___repr__(self) 13751 13752 def template_arg_array(self): 13753 num_args = self.num_template_args 13754 if num_args: 13755 template_args = [] 13756 for i in range(num_args): 13757 template_args.append(self.GetTemplateArgumentType(i)) 13758 return template_args 13759 return None 13760 13761 # operator== is a free function, which swig does not handle, so we inject 13762 # our own equality operator here 13763 def __eq__(self, other): 13764 return not self.__ne__(other) 13765 13766 def __len__(self): 13767 return self.GetByteSize() 13768 13769 module = property(GetModule, None, doc='''A read only property that returns the module in which type is defined.''') 13770 name = property(GetName, None, doc='''A read only property that returns the name for this type as a string.''') 13771 size = property(GetByteSize, None, doc='''A read only property that returns size in bytes for this type as an integer.''') 13772 is_pointer = property(IsPointerType, None, doc='''A read only property that returns a boolean value that indicates if this type is a pointer type.''') 13773 is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a reference type.''') 13774 is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a function type.''') 13775 num_fields = property(GetNumberOfFields, None, doc='''A read only property that returns number of fields in this type as an integer.''') 13776 num_bases = property(GetNumberOfDirectBaseClasses, None, doc='''A read only property that returns number of direct base classes in this type as an integer.''') 13777 num_vbases = property(GetNumberOfVirtualBaseClasses, None, doc='''A read only property that returns number of virtual base classes in this type as an integer.''') 13778 num_template_args = property(GetNumberOfTemplateArguments, None, doc='''A read only property that returns number of template arguments in this type as an integer.''') 13779 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.''') 13780 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.''') 13781 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).''') 13782 13783 def get_bases_array(self): 13784 '''An accessor function that returns a list() that contains all direct base classes in a lldb.SBType object.''' 13785 bases = [] 13786 for idx in range(self.GetNumberOfDirectBaseClasses()): 13787 bases.append(self.GetDirectBaseClassAtIndex(idx)) 13788 return bases 13789 13790 def get_vbases_array(self): 13791 '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.''' 13792 vbases = [] 13793 for idx in range(self.GetNumberOfVirtualBaseClasses()): 13794 vbases.append(self.GetVirtualBaseClassAtIndex(idx)) 13795 return vbases 13796 13797 def get_fields_array(self): 13798 '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.''' 13799 fields = [] 13800 for idx in range(self.GetNumberOfFields()): 13801 fields.append(self.GetFieldAtIndex(idx)) 13802 return fields 13803 13804 def get_members_array(self): 13805 '''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.''' 13806 members = [] 13807 bases = self.get_bases_array() 13808 fields = self.get_fields_array() 13809 vbases = self.get_vbases_array() 13810 for base in bases: 13811 bit_offset = base.bit_offset 13812 added = False 13813 for idx, member in enumerate(members): 13814 if member.bit_offset > bit_offset: 13815 members.insert(idx, base) 13816 added = True 13817 break 13818 if not added: 13819 members.append(base) 13820 for vbase in vbases: 13821 bit_offset = vbase.bit_offset 13822 added = False 13823 for idx, member in enumerate(members): 13824 if member.bit_offset > bit_offset: 13825 members.insert(idx, vbase) 13826 added = True 13827 break 13828 if not added: 13829 members.append(vbase) 13830 for field in fields: 13831 bit_offset = field.bit_offset 13832 added = False 13833 for idx, member in enumerate(members): 13834 if member.bit_offset > bit_offset: 13835 members.insert(idx, field) 13836 added = True 13837 break 13838 if not added: 13839 members.append(field) 13840 return members 13841 13842 def get_enum_members_array(self): 13843 '''An accessor function that returns a list() that contains all enum members in an lldb.SBType object.''' 13844 enum_members_list = [] 13845 sb_enum_members = self.GetEnumMembers() 13846 for idx in range(sb_enum_members.GetSize()): 13847 enum_members_list.append(sb_enum_members.GetTypeEnumMemberAtIndex(idx)) 13848 return enum_members_list 13849 13850 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.''') 13851 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.''') 13852 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.''') 13853 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.''') 13854 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.''') 13855 13856 13857# Register SBType in _lldb: 13858_lldb.SBType_swigregister(SBType) 13859class SBTypeList(object): 13860 r""" 13861 Represents a list of :py:class:`SBType` s. 13862 13863 The FindTypes() method of :py:class:`SBTarget`/:py:class:`SBModule` returns a SBTypeList. 13864 13865 SBTypeList supports :py:class:`SBType` iteration. For example, 13866 13867 .. code-block:: cpp 13868 13869 // main.cpp: 13870 13871 class Task { 13872 public: 13873 int id; 13874 Task *next; 13875 Task(int i, Task *n): 13876 id(i), 13877 next(n) 13878 {} 13879 }; 13880 13881 .. code-block:: python 13882 13883 # find_type.py: 13884 13885 # Get the type 'Task'. 13886 type_list = target.FindTypes('Task') 13887 self.assertTrue(len(type_list) == 1) 13888 # To illustrate the SBType iteration. 13889 for type in type_list: 13890 # do something with type 13891 13892 13893 """ 13894 13895 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13896 __repr__ = _swig_repr 13897 13898 def __init__(self, *args): 13899 r""" 13900 __init__(SBTypeList self) -> SBTypeList 13901 __init__(SBTypeList self, SBTypeList rhs) -> SBTypeList 13902 """ 13903 _lldb.SBTypeList_swiginit(self, _lldb.new_SBTypeList(*args)) 13904 __swig_destroy__ = _lldb.delete_SBTypeList 13905 13906 def __nonzero__(self): 13907 return _lldb.SBTypeList___nonzero__(self) 13908 __bool__ = __nonzero__ 13909 13910 13911 13912 def IsValid(self): 13913 r"""IsValid(SBTypeList self) -> bool""" 13914 return _lldb.SBTypeList_IsValid(self) 13915 13916 def Append(self, type): 13917 r"""Append(SBTypeList self, SBType type)""" 13918 return _lldb.SBTypeList_Append(self, type) 13919 13920 def GetTypeAtIndex(self, index): 13921 r"""GetTypeAtIndex(SBTypeList self, uint32_t index) -> SBType""" 13922 return _lldb.SBTypeList_GetTypeAtIndex(self, index) 13923 13924 def GetSize(self): 13925 r"""GetSize(SBTypeList self) -> uint32_t""" 13926 return _lldb.SBTypeList_GetSize(self) 13927 13928 # operator== is a free function, which swig does not handle, so we inject 13929 # our own equality operator here 13930 def __eq__(self, other): 13931 return not self.__ne__(other) 13932 13933 def __iter__(self): 13934 '''Iterate over all types in a lldb.SBTypeList object.''' 13935 return lldb_iter(self, 'GetSize', 'GetTypeAtIndex') 13936 13937 def __len__(self): 13938 '''Return the number of types in a lldb.SBTypeList object.''' 13939 return self.GetSize() 13940 13941 13942# Register SBTypeList in _lldb: 13943_lldb.SBTypeList_swigregister(SBTypeList) 13944class SBTypeCategory(object): 13945 r"""Represents a category that can contain formatters for types.""" 13946 13947 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 13948 13949 def __init__(self, *args): 13950 r""" 13951 __init__(SBTypeCategory self) -> SBTypeCategory 13952 __init__(SBTypeCategory self, SBTypeCategory rhs) -> SBTypeCategory 13953 """ 13954 _lldb.SBTypeCategory_swiginit(self, _lldb.new_SBTypeCategory(*args)) 13955 __swig_destroy__ = _lldb.delete_SBTypeCategory 13956 13957 def __nonzero__(self): 13958 return _lldb.SBTypeCategory___nonzero__(self) 13959 __bool__ = __nonzero__ 13960 13961 13962 13963 def IsValid(self): 13964 r"""IsValid(SBTypeCategory self) -> bool""" 13965 return _lldb.SBTypeCategory_IsValid(self) 13966 13967 def GetEnabled(self): 13968 r"""GetEnabled(SBTypeCategory self) -> bool""" 13969 return _lldb.SBTypeCategory_GetEnabled(self) 13970 13971 def SetEnabled(self, arg2): 13972 r"""SetEnabled(SBTypeCategory self, bool arg2)""" 13973 return _lldb.SBTypeCategory_SetEnabled(self, arg2) 13974 13975 def GetName(self): 13976 r"""GetName(SBTypeCategory self) -> char const *""" 13977 return _lldb.SBTypeCategory_GetName(self) 13978 13979 def GetLanguageAtIndex(self, idx): 13980 r"""GetLanguageAtIndex(SBTypeCategory self, uint32_t idx) -> lldb::LanguageType""" 13981 return _lldb.SBTypeCategory_GetLanguageAtIndex(self, idx) 13982 13983 def GetNumLanguages(self): 13984 r"""GetNumLanguages(SBTypeCategory self) -> uint32_t""" 13985 return _lldb.SBTypeCategory_GetNumLanguages(self) 13986 13987 def AddLanguage(self, language): 13988 r"""AddLanguage(SBTypeCategory self, lldb::LanguageType language)""" 13989 return _lldb.SBTypeCategory_AddLanguage(self, language) 13990 13991 def GetDescription(self, description, description_level): 13992 r"""GetDescription(SBTypeCategory self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 13993 return _lldb.SBTypeCategory_GetDescription(self, description, description_level) 13994 13995 def GetNumFormats(self): 13996 r"""GetNumFormats(SBTypeCategory self) -> uint32_t""" 13997 return _lldb.SBTypeCategory_GetNumFormats(self) 13998 13999 def GetNumSummaries(self): 14000 r"""GetNumSummaries(SBTypeCategory self) -> uint32_t""" 14001 return _lldb.SBTypeCategory_GetNumSummaries(self) 14002 14003 def GetNumFilters(self): 14004 r"""GetNumFilters(SBTypeCategory self) -> uint32_t""" 14005 return _lldb.SBTypeCategory_GetNumFilters(self) 14006 14007 def GetNumSynthetics(self): 14008 r"""GetNumSynthetics(SBTypeCategory self) -> uint32_t""" 14009 return _lldb.SBTypeCategory_GetNumSynthetics(self) 14010 14011 def GetTypeNameSpecifierForFilterAtIndex(self, arg2): 14012 r"""GetTypeNameSpecifierForFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14013 return _lldb.SBTypeCategory_GetTypeNameSpecifierForFilterAtIndex(self, arg2) 14014 14015 def GetTypeNameSpecifierForFormatAtIndex(self, arg2): 14016 r"""GetTypeNameSpecifierForFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14017 return _lldb.SBTypeCategory_GetTypeNameSpecifierForFormatAtIndex(self, arg2) 14018 14019 def GetTypeNameSpecifierForSummaryAtIndex(self, arg2): 14020 r"""GetTypeNameSpecifierForSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14021 return _lldb.SBTypeCategory_GetTypeNameSpecifierForSummaryAtIndex(self, arg2) 14022 14023 def GetTypeNameSpecifierForSyntheticAtIndex(self, arg2): 14024 r"""GetTypeNameSpecifierForSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier""" 14025 return _lldb.SBTypeCategory_GetTypeNameSpecifierForSyntheticAtIndex(self, arg2) 14026 14027 def GetFilterForType(self, arg2): 14028 r"""GetFilterForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFilter""" 14029 return _lldb.SBTypeCategory_GetFilterForType(self, arg2) 14030 14031 def GetFormatForType(self, arg2): 14032 r"""GetFormatForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFormat""" 14033 return _lldb.SBTypeCategory_GetFormatForType(self, arg2) 14034 14035 def GetSummaryForType(self, arg2): 14036 r"""GetSummaryForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSummary""" 14037 return _lldb.SBTypeCategory_GetSummaryForType(self, arg2) 14038 14039 def GetSyntheticForType(self, arg2): 14040 r"""GetSyntheticForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic""" 14041 return _lldb.SBTypeCategory_GetSyntheticForType(self, arg2) 14042 14043 def GetFilterAtIndex(self, arg2): 14044 r"""GetFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFilter""" 14045 return _lldb.SBTypeCategory_GetFilterAtIndex(self, arg2) 14046 14047 def GetFormatAtIndex(self, arg2): 14048 r"""GetFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFormat""" 14049 return _lldb.SBTypeCategory_GetFormatAtIndex(self, arg2) 14050 14051 def GetSummaryAtIndex(self, arg2): 14052 r"""GetSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSummary""" 14053 return _lldb.SBTypeCategory_GetSummaryAtIndex(self, arg2) 14054 14055 def GetSyntheticAtIndex(self, arg2): 14056 r"""GetSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSynthetic""" 14057 return _lldb.SBTypeCategory_GetSyntheticAtIndex(self, arg2) 14058 14059 def AddTypeFormat(self, arg2, arg3): 14060 r"""AddTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFormat arg3) -> bool""" 14061 return _lldb.SBTypeCategory_AddTypeFormat(self, arg2, arg3) 14062 14063 def DeleteTypeFormat(self, arg2): 14064 r"""DeleteTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14065 return _lldb.SBTypeCategory_DeleteTypeFormat(self, arg2) 14066 14067 def AddTypeSummary(self, arg2, arg3): 14068 r"""AddTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSummary arg3) -> bool""" 14069 return _lldb.SBTypeCategory_AddTypeSummary(self, arg2, arg3) 14070 14071 def DeleteTypeSummary(self, arg2): 14072 r"""DeleteTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14073 return _lldb.SBTypeCategory_DeleteTypeSummary(self, arg2) 14074 14075 def AddTypeFilter(self, arg2, arg3): 14076 r"""AddTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFilter arg3) -> bool""" 14077 return _lldb.SBTypeCategory_AddTypeFilter(self, arg2, arg3) 14078 14079 def DeleteTypeFilter(self, arg2): 14080 r"""DeleteTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14081 return _lldb.SBTypeCategory_DeleteTypeFilter(self, arg2) 14082 14083 def AddTypeSynthetic(self, arg2, arg3): 14084 r"""AddTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSynthetic arg3) -> bool""" 14085 return _lldb.SBTypeCategory_AddTypeSynthetic(self, arg2, arg3) 14086 14087 def DeleteTypeSynthetic(self, arg2): 14088 r"""DeleteTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool""" 14089 return _lldb.SBTypeCategory_DeleteTypeSynthetic(self, arg2) 14090 14091 def __eq__(self, rhs): 14092 r"""__eq__(SBTypeCategory self, SBTypeCategory rhs) -> bool""" 14093 return _lldb.SBTypeCategory___eq__(self, rhs) 14094 14095 def __ne__(self, rhs): 14096 r"""__ne__(SBTypeCategory self, SBTypeCategory rhs) -> bool""" 14097 return _lldb.SBTypeCategory___ne__(self, rhs) 14098 14099 def __repr__(self): 14100 r"""__repr__(SBTypeCategory self) -> std::string""" 14101 return _lldb.SBTypeCategory___repr__(self) 14102 14103 # operator== is a free function, which swig does not handle, so we inject 14104 # our own equality operator here 14105 def __eq__(self, other): 14106 return not self.__ne__(other) 14107 14108 14109 class formatters_access_class(object): 14110 '''A helper object that will lazily hand out formatters for a specific category.''' 14111 def __init__(self, sbcategory, get_count_function, get_at_index_function, get_by_name_function): 14112 self.sbcategory = sbcategory 14113 self.get_count_function = get_count_function 14114 self.get_at_index_function = get_at_index_function 14115 self.get_by_name_function = get_by_name_function 14116 self.regex_type = type(re.compile('.')) 14117 14118 14119 def __len__(self): 14120 if self.sbcategory and self.get_count_function: 14121 return int(self.get_count_function(self.sbcategory)) 14122 return 0 14123 14124 def __getitem__(self, key): 14125 num_items = len(self) 14126 if type(key) is int: 14127 if -num_items <= key < num_items: 14128 key %= num_items 14129 return self.get_at_index_function(self.sbcategory,key) 14130 elif type(key) is str: 14131 return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key)) 14132 elif isinstance(key,self.regex_type): 14133 return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key.pattern,True)) 14134 else: 14135 print("error: unsupported item type: %s" % type(key)) 14136 return None 14137 14138 def get_formats_access_object(self): 14139 '''An accessor function that returns an accessor object which allows lazy format access from a lldb.SBTypeCategory object.''' 14140 return self.formatters_access_class (self,self.__class__.GetNumFormats,self.__class__.GetFormatAtIndex,self.__class__.GetFormatForType) 14141 14142 def get_formats_array(self): 14143 '''An accessor function that returns a list() that contains all formats in a lldb.SBCategory object.''' 14144 formats = [] 14145 for idx in range(self.GetNumFormats()): 14146 formats.append(self.GetFormatAtIndex(idx)) 14147 return formats 14148 14149 def get_summaries_access_object(self): 14150 '''An accessor function that returns an accessor object which allows lazy summary access from a lldb.SBTypeCategory object.''' 14151 return self.formatters_access_class (self,self.__class__.GetNumSummaries,self.__class__.GetSummaryAtIndex,self.__class__.GetSummaryForType) 14152 14153 def get_summaries_array(self): 14154 '''An accessor function that returns a list() that contains all summaries in a lldb.SBCategory object.''' 14155 summaries = [] 14156 for idx in range(self.GetNumSummaries()): 14157 summaries.append(self.GetSummaryAtIndex(idx)) 14158 return summaries 14159 14160 def get_synthetics_access_object(self): 14161 '''An accessor function that returns an accessor object which allows lazy synthetic children provider access from a lldb.SBTypeCategory object.''' 14162 return self.formatters_access_class (self,self.__class__.GetNumSynthetics,self.__class__.GetSyntheticAtIndex,self.__class__.GetSyntheticForType) 14163 14164 def get_synthetics_array(self): 14165 '''An accessor function that returns a list() that contains all synthetic children providers in a lldb.SBCategory object.''' 14166 synthetics = [] 14167 for idx in range(self.GetNumSynthetics()): 14168 synthetics.append(self.GetSyntheticAtIndex(idx)) 14169 return synthetics 14170 14171 def get_filters_access_object(self): 14172 '''An accessor function that returns an accessor object which allows lazy filter access from a lldb.SBTypeCategory object.''' 14173 return self.formatters_access_class (self,self.__class__.GetNumFilters,self.__class__.GetFilterAtIndex,self.__class__.GetFilterForType) 14174 14175 def get_filters_array(self): 14176 '''An accessor function that returns a list() that contains all filters in a lldb.SBCategory object.''' 14177 filters = [] 14178 for idx in range(self.GetNumFilters()): 14179 filters.append(self.GetFilterAtIndex(idx)) 14180 return filters 14181 14182 formats = property(get_formats_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFormat objects contained in this category''') 14183 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.''') 14184 summaries = property(get_summaries_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSummary objects contained in this category''') 14185 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.''') 14186 filters = property(get_filters_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFilter objects contained in this category''') 14187 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.''') 14188 synthetics = property(get_synthetics_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSynthetic objects contained in this category''') 14189 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.''') 14190 num_formats = property(GetNumFormats, None) 14191 num_summaries = property(GetNumSummaries, None) 14192 num_filters = property(GetNumFilters, None) 14193 num_synthetics = property(GetNumSynthetics, None) 14194 name = property(GetName, None) 14195 enabled = property(GetEnabled, SetEnabled) 14196 14197 14198# Register SBTypeCategory in _lldb: 14199_lldb.SBTypeCategory_swigregister(SBTypeCategory) 14200class SBTypeEnumMember(object): 14201 r"""Represents a member of an enum in lldb.""" 14202 14203 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14204 14205 def __init__(self, *args): 14206 r""" 14207 __init__(SBTypeEnumMember self) -> SBTypeEnumMember 14208 __init__(SBTypeEnumMember self, SBTypeEnumMember rhs) -> SBTypeEnumMember 14209 """ 14210 _lldb.SBTypeEnumMember_swiginit(self, _lldb.new_SBTypeEnumMember(*args)) 14211 __swig_destroy__ = _lldb.delete_SBTypeEnumMember 14212 14213 def __nonzero__(self): 14214 return _lldb.SBTypeEnumMember___nonzero__(self) 14215 __bool__ = __nonzero__ 14216 14217 14218 14219 def IsValid(self): 14220 r"""IsValid(SBTypeEnumMember self) -> bool""" 14221 return _lldb.SBTypeEnumMember_IsValid(self) 14222 14223 def GetValueAsSigned(self): 14224 r"""GetValueAsSigned(SBTypeEnumMember self) -> int64_t""" 14225 return _lldb.SBTypeEnumMember_GetValueAsSigned(self) 14226 14227 def GetValueAsUnsigned(self): 14228 r"""GetValueAsUnsigned(SBTypeEnumMember self) -> uint64_t""" 14229 return _lldb.SBTypeEnumMember_GetValueAsUnsigned(self) 14230 14231 def GetName(self): 14232 r"""GetName(SBTypeEnumMember self) -> char const *""" 14233 return _lldb.SBTypeEnumMember_GetName(self) 14234 14235 def GetType(self): 14236 r"""GetType(SBTypeEnumMember self) -> SBType""" 14237 return _lldb.SBTypeEnumMember_GetType(self) 14238 14239 def GetDescription(self, description, description_level): 14240 r"""GetDescription(SBTypeEnumMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14241 return _lldb.SBTypeEnumMember_GetDescription(self, description, description_level) 14242 14243 def __repr__(self): 14244 r"""__repr__(SBTypeEnumMember self) -> std::string""" 14245 return _lldb.SBTypeEnumMember___repr__(self) 14246 14247 def __iter__(self): 14248 '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' 14249 return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') 14250 14251 def __len__(self): 14252 '''Return the number of members in a lldb.SBTypeEnumMemberList object.''' 14253 return self.GetSize() 14254 14255 name = property(GetName, None, doc='''A read only property that returns the name for this enum member as a string.''') 14256 type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this enum member.''') 14257 signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this enum member as a signed integer.''') 14258 unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this enum member as a unsigned integer.''') 14259 14260 14261# Register SBTypeEnumMember in _lldb: 14262_lldb.SBTypeEnumMember_swigregister(SBTypeEnumMember) 14263class SBTypeEnumMemberList(object): 14264 r""" 14265 Represents a list of SBTypeEnumMembers. 14266 14267 SBTypeEnumMemberList supports SBTypeEnumMember iteration. 14268 It also supports [] access either by index, or by enum 14269 element name by doing: :: 14270 14271 myType = target.FindFirstType('MyEnumWithElementA') 14272 members = myType.GetEnumMembers() 14273 first_elem = members[0] 14274 elem_A = members['A'] 14275 14276 14277 """ 14278 14279 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14280 __repr__ = _swig_repr 14281 14282 def __init__(self, *args): 14283 r""" 14284 __init__(SBTypeEnumMemberList self) -> SBTypeEnumMemberList 14285 __init__(SBTypeEnumMemberList self, SBTypeEnumMemberList rhs) -> SBTypeEnumMemberList 14286 """ 14287 _lldb.SBTypeEnumMemberList_swiginit(self, _lldb.new_SBTypeEnumMemberList(*args)) 14288 __swig_destroy__ = _lldb.delete_SBTypeEnumMemberList 14289 14290 def __nonzero__(self): 14291 return _lldb.SBTypeEnumMemberList___nonzero__(self) 14292 __bool__ = __nonzero__ 14293 14294 14295 14296 def IsValid(self): 14297 r"""IsValid(SBTypeEnumMemberList self) -> bool""" 14298 return _lldb.SBTypeEnumMemberList_IsValid(self) 14299 14300 def Append(self, entry): 14301 r"""Append(SBTypeEnumMemberList self, SBTypeEnumMember entry)""" 14302 return _lldb.SBTypeEnumMemberList_Append(self, entry) 14303 14304 def GetTypeEnumMemberAtIndex(self, index): 14305 r"""GetTypeEnumMemberAtIndex(SBTypeEnumMemberList self, uint32_t index) -> SBTypeEnumMember""" 14306 return _lldb.SBTypeEnumMemberList_GetTypeEnumMemberAtIndex(self, index) 14307 14308 def GetSize(self): 14309 r"""GetSize(SBTypeEnumMemberList self) -> uint32_t""" 14310 return _lldb.SBTypeEnumMemberList_GetSize(self) 14311 14312 def __iter__(self): 14313 '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' 14314 return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') 14315 14316 def __len__(self): 14317 '''Return the number of members in a lldb.SBTypeEnumMemberList object.''' 14318 return self.GetSize() 14319 14320 def __getitem__(self, key): 14321 num_elements = self.GetSize() 14322 if type(key) is int: 14323 if -num_elements <= key < num_elements: 14324 key %= num_elements 14325 return self.GetTypeEnumMemberAtIndex(key) 14326 elif type(key) is str: 14327 for idx in range(num_elements): 14328 item = self.GetTypeEnumMemberAtIndex(idx) 14329 if item.name == key: 14330 return item 14331 return None 14332 14333 14334# Register SBTypeEnumMemberList in _lldb: 14335_lldb.SBTypeEnumMemberList_swigregister(SBTypeEnumMemberList) 14336class SBTypeFilter(object): 14337 r"""Represents a filter that can be associated to one or more types.""" 14338 14339 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14340 14341 def __init__(self, *args): 14342 r""" 14343 __init__(SBTypeFilter self) -> SBTypeFilter 14344 __init__(SBTypeFilter self, uint32_t options) -> SBTypeFilter 14345 __init__(SBTypeFilter self, SBTypeFilter rhs) -> SBTypeFilter 14346 """ 14347 _lldb.SBTypeFilter_swiginit(self, _lldb.new_SBTypeFilter(*args)) 14348 __swig_destroy__ = _lldb.delete_SBTypeFilter 14349 14350 def __nonzero__(self): 14351 return _lldb.SBTypeFilter___nonzero__(self) 14352 __bool__ = __nonzero__ 14353 14354 14355 14356 def IsValid(self): 14357 r"""IsValid(SBTypeFilter self) -> bool""" 14358 return _lldb.SBTypeFilter_IsValid(self) 14359 14360 def GetNumberOfExpressionPaths(self): 14361 r"""GetNumberOfExpressionPaths(SBTypeFilter self) -> uint32_t""" 14362 return _lldb.SBTypeFilter_GetNumberOfExpressionPaths(self) 14363 14364 def GetExpressionPathAtIndex(self, i): 14365 r"""GetExpressionPathAtIndex(SBTypeFilter self, uint32_t i) -> char const *""" 14366 return _lldb.SBTypeFilter_GetExpressionPathAtIndex(self, i) 14367 14368 def ReplaceExpressionPathAtIndex(self, i, item): 14369 r"""ReplaceExpressionPathAtIndex(SBTypeFilter self, uint32_t i, char const * item) -> bool""" 14370 return _lldb.SBTypeFilter_ReplaceExpressionPathAtIndex(self, i, item) 14371 14372 def AppendExpressionPath(self, item): 14373 r"""AppendExpressionPath(SBTypeFilter self, char const * item)""" 14374 return _lldb.SBTypeFilter_AppendExpressionPath(self, item) 14375 14376 def Clear(self): 14377 r"""Clear(SBTypeFilter self)""" 14378 return _lldb.SBTypeFilter_Clear(self) 14379 14380 def GetOptions(self): 14381 r"""GetOptions(SBTypeFilter self) -> uint32_t""" 14382 return _lldb.SBTypeFilter_GetOptions(self) 14383 14384 def SetOptions(self, arg2): 14385 r"""SetOptions(SBTypeFilter self, uint32_t arg2)""" 14386 return _lldb.SBTypeFilter_SetOptions(self, arg2) 14387 14388 def GetDescription(self, description, description_level): 14389 r"""GetDescription(SBTypeFilter self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14390 return _lldb.SBTypeFilter_GetDescription(self, description, description_level) 14391 14392 def IsEqualTo(self, rhs): 14393 r"""IsEqualTo(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14394 return _lldb.SBTypeFilter_IsEqualTo(self, rhs) 14395 14396 def __eq__(self, rhs): 14397 r"""__eq__(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14398 return _lldb.SBTypeFilter___eq__(self, rhs) 14399 14400 def __ne__(self, rhs): 14401 r"""__ne__(SBTypeFilter self, SBTypeFilter rhs) -> bool""" 14402 return _lldb.SBTypeFilter___ne__(self, rhs) 14403 14404 def __repr__(self): 14405 r"""__repr__(SBTypeFilter self) -> std::string""" 14406 return _lldb.SBTypeFilter___repr__(self) 14407 14408 # operator== is a free function, which swig does not handle, so we inject 14409 # our own equality operator here 14410 def __eq__(self, other): 14411 return not self.__ne__(other) 14412 14413 options = property(GetOptions, SetOptions) 14414 count = property(GetNumberOfExpressionPaths) 14415 14416 14417 def __eq__(self, rhs): 14418 if not isinstance(rhs, type(self)): 14419 return False 14420 14421 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14422 14423 def __ne__(self, rhs): 14424 if not isinstance(rhs, type(self)): 14425 return True 14426 14427 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14428 14429 14430# Register SBTypeFilter in _lldb: 14431_lldb.SBTypeFilter_swigregister(SBTypeFilter) 14432class SBTypeFormat(object): 14433 r"""Represents a format that can be associated to one or more types.""" 14434 14435 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14436 14437 def __init__(self, *args): 14438 r""" 14439 __init__(SBTypeFormat self) -> SBTypeFormat 14440 __init__(SBTypeFormat self, lldb::Format format, uint32_t options=0) -> SBTypeFormat 14441 __init__(SBTypeFormat self, char const * type, uint32_t options=0) -> SBTypeFormat 14442 __init__(SBTypeFormat self, SBTypeFormat rhs) -> SBTypeFormat 14443 """ 14444 _lldb.SBTypeFormat_swiginit(self, _lldb.new_SBTypeFormat(*args)) 14445 __swig_destroy__ = _lldb.delete_SBTypeFormat 14446 14447 def __nonzero__(self): 14448 return _lldb.SBTypeFormat___nonzero__(self) 14449 __bool__ = __nonzero__ 14450 14451 14452 14453 def IsValid(self): 14454 r"""IsValid(SBTypeFormat self) -> bool""" 14455 return _lldb.SBTypeFormat_IsValid(self) 14456 14457 def GetFormat(self): 14458 r"""GetFormat(SBTypeFormat self) -> lldb::Format""" 14459 return _lldb.SBTypeFormat_GetFormat(self) 14460 14461 def GetTypeName(self): 14462 r"""GetTypeName(SBTypeFormat self) -> char const *""" 14463 return _lldb.SBTypeFormat_GetTypeName(self) 14464 14465 def GetOptions(self): 14466 r"""GetOptions(SBTypeFormat self) -> uint32_t""" 14467 return _lldb.SBTypeFormat_GetOptions(self) 14468 14469 def SetFormat(self, arg2): 14470 r"""SetFormat(SBTypeFormat self, lldb::Format arg2)""" 14471 return _lldb.SBTypeFormat_SetFormat(self, arg2) 14472 14473 def SetTypeName(self, arg2): 14474 r"""SetTypeName(SBTypeFormat self, char const * arg2)""" 14475 return _lldb.SBTypeFormat_SetTypeName(self, arg2) 14476 14477 def SetOptions(self, arg2): 14478 r"""SetOptions(SBTypeFormat self, uint32_t arg2)""" 14479 return _lldb.SBTypeFormat_SetOptions(self, arg2) 14480 14481 def GetDescription(self, description, description_level): 14482 r"""GetDescription(SBTypeFormat self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14483 return _lldb.SBTypeFormat_GetDescription(self, description, description_level) 14484 14485 def IsEqualTo(self, rhs): 14486 r"""IsEqualTo(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14487 return _lldb.SBTypeFormat_IsEqualTo(self, rhs) 14488 14489 def __eq__(self, rhs): 14490 r"""__eq__(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14491 return _lldb.SBTypeFormat___eq__(self, rhs) 14492 14493 def __ne__(self, rhs): 14494 r"""__ne__(SBTypeFormat self, SBTypeFormat rhs) -> bool""" 14495 return _lldb.SBTypeFormat___ne__(self, rhs) 14496 14497 def __repr__(self): 14498 r"""__repr__(SBTypeFormat self) -> std::string""" 14499 return _lldb.SBTypeFormat___repr__(self) 14500 14501 # operator== is a free function, which swig does not handle, so we inject 14502 # our own equality operator here 14503 def __eq__(self, other): 14504 return not self.__ne__(other) 14505 14506 format = property(GetFormat, SetFormat) 14507 options = property(GetOptions, SetOptions) 14508 14509 14510# Register SBTypeFormat in _lldb: 14511_lldb.SBTypeFormat_swigregister(SBTypeFormat) 14512class SBTypeNameSpecifier(object): 14513 r"""Represents a general way to provide a type name to LLDB APIs.""" 14514 14515 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14516 14517 def __init__(self, *args): 14518 r""" 14519 __init__(SBTypeNameSpecifier self) -> SBTypeNameSpecifier 14520 __init__(SBTypeNameSpecifier self, char const * name, bool is_regex=False) -> SBTypeNameSpecifier 14521 __init__(SBTypeNameSpecifier self, char const * name, lldb::FormatterMatchType match_type) -> SBTypeNameSpecifier 14522 __init__(SBTypeNameSpecifier self, SBType type) -> SBTypeNameSpecifier 14523 __init__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> SBTypeNameSpecifier 14524 """ 14525 _lldb.SBTypeNameSpecifier_swiginit(self, _lldb.new_SBTypeNameSpecifier(*args)) 14526 __swig_destroy__ = _lldb.delete_SBTypeNameSpecifier 14527 14528 def __nonzero__(self): 14529 return _lldb.SBTypeNameSpecifier___nonzero__(self) 14530 __bool__ = __nonzero__ 14531 14532 14533 14534 def IsValid(self): 14535 r"""IsValid(SBTypeNameSpecifier self) -> bool""" 14536 return _lldb.SBTypeNameSpecifier_IsValid(self) 14537 14538 def GetName(self): 14539 r"""GetName(SBTypeNameSpecifier self) -> char const *""" 14540 return _lldb.SBTypeNameSpecifier_GetName(self) 14541 14542 def GetType(self): 14543 r"""GetType(SBTypeNameSpecifier self) -> SBType""" 14544 return _lldb.SBTypeNameSpecifier_GetType(self) 14545 14546 def GetMatchType(self): 14547 r"""GetMatchType(SBTypeNameSpecifier self) -> lldb::FormatterMatchType""" 14548 return _lldb.SBTypeNameSpecifier_GetMatchType(self) 14549 14550 def IsRegex(self): 14551 r"""IsRegex(SBTypeNameSpecifier self) -> bool""" 14552 return _lldb.SBTypeNameSpecifier_IsRegex(self) 14553 14554 def GetDescription(self, description, description_level): 14555 r"""GetDescription(SBTypeNameSpecifier self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14556 return _lldb.SBTypeNameSpecifier_GetDescription(self, description, description_level) 14557 14558 def IsEqualTo(self, rhs): 14559 r"""IsEqualTo(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14560 return _lldb.SBTypeNameSpecifier_IsEqualTo(self, rhs) 14561 14562 def __eq__(self, rhs): 14563 r"""__eq__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14564 return _lldb.SBTypeNameSpecifier___eq__(self, rhs) 14565 14566 def __ne__(self, rhs): 14567 r"""__ne__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool""" 14568 return _lldb.SBTypeNameSpecifier___ne__(self, rhs) 14569 14570 def __repr__(self): 14571 r"""__repr__(SBTypeNameSpecifier self) -> std::string""" 14572 return _lldb.SBTypeNameSpecifier___repr__(self) 14573 14574 # operator== is a free function, which swig does not handle, so we inject 14575 # our own equality operator here 14576 def __eq__(self, other): 14577 return not self.__ne__(other) 14578 14579 name = property(GetName) 14580 is_regex = property(IsRegex) 14581 14582 14583 def __eq__(self, rhs): 14584 if not isinstance(rhs, type(self)): 14585 return False 14586 14587 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14588 14589 def __ne__(self, rhs): 14590 if not isinstance(rhs, type(self)): 14591 return True 14592 14593 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14594 14595 14596# Register SBTypeNameSpecifier in _lldb: 14597_lldb.SBTypeNameSpecifier_swigregister(SBTypeNameSpecifier) 14598class SBTypeSummaryOptions(object): 14599 r"""Proxy of C++ lldb::SBTypeSummaryOptions class.""" 14600 14601 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14602 __repr__ = _swig_repr 14603 14604 def __init__(self, *args): 14605 r""" 14606 __init__(SBTypeSummaryOptions self) -> SBTypeSummaryOptions 14607 __init__(SBTypeSummaryOptions self, SBTypeSummaryOptions rhs) -> SBTypeSummaryOptions 14608 """ 14609 _lldb.SBTypeSummaryOptions_swiginit(self, _lldb.new_SBTypeSummaryOptions(*args)) 14610 __swig_destroy__ = _lldb.delete_SBTypeSummaryOptions 14611 14612 def __nonzero__(self): 14613 return _lldb.SBTypeSummaryOptions___nonzero__(self) 14614 __bool__ = __nonzero__ 14615 14616 14617 14618 def IsValid(self): 14619 r"""IsValid(SBTypeSummaryOptions self) -> bool""" 14620 return _lldb.SBTypeSummaryOptions_IsValid(self) 14621 14622 def GetLanguage(self): 14623 r"""GetLanguage(SBTypeSummaryOptions self) -> lldb::LanguageType""" 14624 return _lldb.SBTypeSummaryOptions_GetLanguage(self) 14625 14626 def GetCapping(self): 14627 r"""GetCapping(SBTypeSummaryOptions self) -> lldb::TypeSummaryCapping""" 14628 return _lldb.SBTypeSummaryOptions_GetCapping(self) 14629 14630 def SetLanguage(self, arg2): 14631 r"""SetLanguage(SBTypeSummaryOptions self, lldb::LanguageType arg2)""" 14632 return _lldb.SBTypeSummaryOptions_SetLanguage(self, arg2) 14633 14634 def SetCapping(self, arg2): 14635 r"""SetCapping(SBTypeSummaryOptions self, lldb::TypeSummaryCapping arg2)""" 14636 return _lldb.SBTypeSummaryOptions_SetCapping(self, arg2) 14637 14638# Register SBTypeSummaryOptions in _lldb: 14639_lldb.SBTypeSummaryOptions_swigregister(SBTypeSummaryOptions) 14640class SBTypeSummary(object): 14641 r"""Represents a summary that can be associated to one or more types.""" 14642 14643 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14644 14645 @staticmethod 14646 def CreateWithSummaryString(data, options=0): 14647 r"""CreateWithSummaryString(char const * data, uint32_t options=0) -> SBTypeSummary""" 14648 return _lldb.SBTypeSummary_CreateWithSummaryString(data, options) 14649 14650 @staticmethod 14651 def CreateWithFunctionName(data, options=0): 14652 r"""CreateWithFunctionName(char const * data, uint32_t options=0) -> SBTypeSummary""" 14653 return _lldb.SBTypeSummary_CreateWithFunctionName(data, options) 14654 14655 @staticmethod 14656 def CreateWithScriptCode(data, options=0): 14657 r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSummary""" 14658 return _lldb.SBTypeSummary_CreateWithScriptCode(data, options) 14659 14660 def __init__(self, *args): 14661 r""" 14662 __init__(SBTypeSummary self) -> SBTypeSummary 14663 __init__(SBTypeSummary self, SBTypeSummary rhs) -> SBTypeSummary 14664 """ 14665 _lldb.SBTypeSummary_swiginit(self, _lldb.new_SBTypeSummary(*args)) 14666 __swig_destroy__ = _lldb.delete_SBTypeSummary 14667 14668 def __nonzero__(self): 14669 return _lldb.SBTypeSummary___nonzero__(self) 14670 __bool__ = __nonzero__ 14671 14672 14673 14674 def IsValid(self): 14675 r"""IsValid(SBTypeSummary self) -> bool""" 14676 return _lldb.SBTypeSummary_IsValid(self) 14677 14678 def IsFunctionCode(self): 14679 r"""IsFunctionCode(SBTypeSummary self) -> bool""" 14680 return _lldb.SBTypeSummary_IsFunctionCode(self) 14681 14682 def IsFunctionName(self): 14683 r"""IsFunctionName(SBTypeSummary self) -> bool""" 14684 return _lldb.SBTypeSummary_IsFunctionName(self) 14685 14686 def IsSummaryString(self): 14687 r"""IsSummaryString(SBTypeSummary self) -> bool""" 14688 return _lldb.SBTypeSummary_IsSummaryString(self) 14689 14690 def GetData(self): 14691 r"""GetData(SBTypeSummary self) -> char const *""" 14692 return _lldb.SBTypeSummary_GetData(self) 14693 14694 def SetSummaryString(self, data): 14695 r"""SetSummaryString(SBTypeSummary self, char const * data)""" 14696 return _lldb.SBTypeSummary_SetSummaryString(self, data) 14697 14698 def SetFunctionName(self, data): 14699 r"""SetFunctionName(SBTypeSummary self, char const * data)""" 14700 return _lldb.SBTypeSummary_SetFunctionName(self, data) 14701 14702 def SetFunctionCode(self, data): 14703 r"""SetFunctionCode(SBTypeSummary self, char const * data)""" 14704 return _lldb.SBTypeSummary_SetFunctionCode(self, data) 14705 14706 def GetOptions(self): 14707 r"""GetOptions(SBTypeSummary self) -> uint32_t""" 14708 return _lldb.SBTypeSummary_GetOptions(self) 14709 14710 def SetOptions(self, arg2): 14711 r"""SetOptions(SBTypeSummary self, uint32_t arg2)""" 14712 return _lldb.SBTypeSummary_SetOptions(self, arg2) 14713 14714 def GetDescription(self, description, description_level): 14715 r"""GetDescription(SBTypeSummary self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14716 return _lldb.SBTypeSummary_GetDescription(self, description, description_level) 14717 14718 def DoesPrintValue(self, value): 14719 r"""DoesPrintValue(SBTypeSummary self, SBValue value) -> bool""" 14720 return _lldb.SBTypeSummary_DoesPrintValue(self, value) 14721 14722 def IsEqualTo(self, rhs): 14723 r"""IsEqualTo(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 14724 return _lldb.SBTypeSummary_IsEqualTo(self, rhs) 14725 14726 def __eq__(self, rhs): 14727 r"""__eq__(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 14728 return _lldb.SBTypeSummary___eq__(self, rhs) 14729 14730 def __ne__(self, rhs): 14731 r"""__ne__(SBTypeSummary self, SBTypeSummary rhs) -> bool""" 14732 return _lldb.SBTypeSummary___ne__(self, rhs) 14733 14734 def __repr__(self): 14735 r"""__repr__(SBTypeSummary self) -> std::string""" 14736 return _lldb.SBTypeSummary___repr__(self) 14737 14738 # operator== is a free function, which swig does not handle, so we inject 14739 # our own equality operator here 14740 def __eq__(self, other): 14741 return not self.__ne__(other) 14742 14743 options = property(GetOptions, SetOptions) 14744 is_summary_string = property(IsSummaryString) 14745 is_function_name = property(IsFunctionName) 14746 is_function_name = property(IsFunctionCode) 14747 summary_data = property(GetData) 14748 14749 14750 def __eq__(self, rhs): 14751 if not isinstance(rhs, type(self)): 14752 return False 14753 14754 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14755 14756 def __ne__(self, rhs): 14757 if not isinstance(rhs, type(self)): 14758 return True 14759 14760 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14761 14762 14763# Register SBTypeSummary in _lldb: 14764_lldb.SBTypeSummary_swigregister(SBTypeSummary) 14765class SBTypeSynthetic(object): 14766 r"""Represents a summary that can be associated to one or more types.""" 14767 14768 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14769 14770 @staticmethod 14771 def CreateWithClassName(data, options=0): 14772 r"""CreateWithClassName(char const * data, uint32_t options=0) -> SBTypeSynthetic""" 14773 return _lldb.SBTypeSynthetic_CreateWithClassName(data, options) 14774 14775 @staticmethod 14776 def CreateWithScriptCode(data, options=0): 14777 r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSynthetic""" 14778 return _lldb.SBTypeSynthetic_CreateWithScriptCode(data, options) 14779 14780 def __init__(self, *args): 14781 r""" 14782 __init__(SBTypeSynthetic self) -> SBTypeSynthetic 14783 __init__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> SBTypeSynthetic 14784 """ 14785 _lldb.SBTypeSynthetic_swiginit(self, _lldb.new_SBTypeSynthetic(*args)) 14786 __swig_destroy__ = _lldb.delete_SBTypeSynthetic 14787 14788 def __nonzero__(self): 14789 return _lldb.SBTypeSynthetic___nonzero__(self) 14790 __bool__ = __nonzero__ 14791 14792 14793 14794 def IsValid(self): 14795 r"""IsValid(SBTypeSynthetic self) -> bool""" 14796 return _lldb.SBTypeSynthetic_IsValid(self) 14797 14798 def IsClassCode(self): 14799 r"""IsClassCode(SBTypeSynthetic self) -> bool""" 14800 return _lldb.SBTypeSynthetic_IsClassCode(self) 14801 14802 def IsClassName(self): 14803 r"""IsClassName(SBTypeSynthetic self) -> bool""" 14804 return _lldb.SBTypeSynthetic_IsClassName(self) 14805 14806 def GetData(self): 14807 r"""GetData(SBTypeSynthetic self) -> char const *""" 14808 return _lldb.SBTypeSynthetic_GetData(self) 14809 14810 def SetClassName(self, data): 14811 r"""SetClassName(SBTypeSynthetic self, char const * data)""" 14812 return _lldb.SBTypeSynthetic_SetClassName(self, data) 14813 14814 def SetClassCode(self, data): 14815 r"""SetClassCode(SBTypeSynthetic self, char const * data)""" 14816 return _lldb.SBTypeSynthetic_SetClassCode(self, data) 14817 14818 def GetOptions(self): 14819 r"""GetOptions(SBTypeSynthetic self) -> uint32_t""" 14820 return _lldb.SBTypeSynthetic_GetOptions(self) 14821 14822 def SetOptions(self, arg2): 14823 r"""SetOptions(SBTypeSynthetic self, uint32_t arg2)""" 14824 return _lldb.SBTypeSynthetic_SetOptions(self, arg2) 14825 14826 def GetDescription(self, description, description_level): 14827 r"""GetDescription(SBTypeSynthetic self, SBStream description, lldb::DescriptionLevel description_level) -> bool""" 14828 return _lldb.SBTypeSynthetic_GetDescription(self, description, description_level) 14829 14830 def IsEqualTo(self, rhs): 14831 r"""IsEqualTo(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 14832 return _lldb.SBTypeSynthetic_IsEqualTo(self, rhs) 14833 14834 def __eq__(self, rhs): 14835 r"""__eq__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 14836 return _lldb.SBTypeSynthetic___eq__(self, rhs) 14837 14838 def __ne__(self, rhs): 14839 r"""__ne__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool""" 14840 return _lldb.SBTypeSynthetic___ne__(self, rhs) 14841 14842 def __repr__(self): 14843 r"""__repr__(SBTypeSynthetic self) -> std::string""" 14844 return _lldb.SBTypeSynthetic___repr__(self) 14845 14846 # operator== is a free function, which swig does not handle, so we inject 14847 # our own equality operator here 14848 def __eq__(self, other): 14849 return not self.__ne__(other) 14850 14851 options = property(GetOptions, SetOptions) 14852 contains_code = property(IsClassCode, None) 14853 synthetic_data = property(GetData, None) 14854 14855 14856 def __eq__(self, rhs): 14857 if not isinstance(rhs, type(self)): 14858 return False 14859 14860 return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs) 14861 14862 def __ne__(self, rhs): 14863 if not isinstance(rhs, type(self)): 14864 return True 14865 14866 return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs) 14867 14868 14869# Register SBTypeSynthetic in _lldb: 14870_lldb.SBTypeSynthetic_swigregister(SBTypeSynthetic) 14871class SBUnixSignals(object): 14872 r"""Allows you to manipulate LLDB's signal disposition""" 14873 14874 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 14875 __repr__ = _swig_repr 14876 14877 def __init__(self, *args): 14878 r""" 14879 __init__(SBUnixSignals self) -> SBUnixSignals 14880 __init__(SBUnixSignals self, SBUnixSignals rhs) -> SBUnixSignals 14881 """ 14882 _lldb.SBUnixSignals_swiginit(self, _lldb.new_SBUnixSignals(*args)) 14883 __swig_destroy__ = _lldb.delete_SBUnixSignals 14884 14885 def Clear(self): 14886 r"""Clear(SBUnixSignals self)""" 14887 return _lldb.SBUnixSignals_Clear(self) 14888 14889 def __nonzero__(self): 14890 return _lldb.SBUnixSignals___nonzero__(self) 14891 __bool__ = __nonzero__ 14892 14893 14894 14895 def IsValid(self): 14896 r"""IsValid(SBUnixSignals self) -> bool""" 14897 return _lldb.SBUnixSignals_IsValid(self) 14898 14899 def GetSignalAsCString(self, signo): 14900 r"""GetSignalAsCString(SBUnixSignals self, int32_t signo) -> char const *""" 14901 return _lldb.SBUnixSignals_GetSignalAsCString(self, signo) 14902 14903 def GetSignalNumberFromName(self, name): 14904 r"""GetSignalNumberFromName(SBUnixSignals self, char const * name) -> int32_t""" 14905 return _lldb.SBUnixSignals_GetSignalNumberFromName(self, name) 14906 14907 def GetShouldSuppress(self, signo): 14908 r"""GetShouldSuppress(SBUnixSignals self, int32_t signo) -> bool""" 14909 return _lldb.SBUnixSignals_GetShouldSuppress(self, signo) 14910 14911 def SetShouldSuppress(self, signo, value): 14912 r"""SetShouldSuppress(SBUnixSignals self, int32_t signo, bool value) -> bool""" 14913 return _lldb.SBUnixSignals_SetShouldSuppress(self, signo, value) 14914 14915 def GetShouldStop(self, signo): 14916 r"""GetShouldStop(SBUnixSignals self, int32_t signo) -> bool""" 14917 return _lldb.SBUnixSignals_GetShouldStop(self, signo) 14918 14919 def SetShouldStop(self, signo, value): 14920 r"""SetShouldStop(SBUnixSignals self, int32_t signo, bool value) -> bool""" 14921 return _lldb.SBUnixSignals_SetShouldStop(self, signo, value) 14922 14923 def GetShouldNotify(self, signo): 14924 r"""GetShouldNotify(SBUnixSignals self, int32_t signo) -> bool""" 14925 return _lldb.SBUnixSignals_GetShouldNotify(self, signo) 14926 14927 def SetShouldNotify(self, signo, value): 14928 r"""SetShouldNotify(SBUnixSignals self, int32_t signo, bool value) -> bool""" 14929 return _lldb.SBUnixSignals_SetShouldNotify(self, signo, value) 14930 14931 def GetNumSignals(self): 14932 r"""GetNumSignals(SBUnixSignals self) -> int32_t""" 14933 return _lldb.SBUnixSignals_GetNumSignals(self) 14934 14935 def GetSignalAtIndex(self, index): 14936 r"""GetSignalAtIndex(SBUnixSignals self, int32_t index) -> int32_t""" 14937 return _lldb.SBUnixSignals_GetSignalAtIndex(self, index) 14938 14939 def __iter__(self): 14940 '''Iterate over all signals in a lldb.SBUnixSignals object.''' 14941 return lldb_iter(self, 'GetNumSignals', 'GetSignalAtIndex') 14942 14943 def __len__(self): 14944 return self.GetNumSignals() 14945 14946 def get_unix_signals_list(self): 14947 signals = [] 14948 for idx in range(0, self.GetNumSignals()): 14949 signals.append(self.GetSignalAtIndex(sig)) 14950 return signals 14951 14952 threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''') 14953 14954 14955# Register SBUnixSignals in _lldb: 14956_lldb.SBUnixSignals_swigregister(SBUnixSignals) 14957class SBValue(object): 14958 r""" 14959 Represents the value of a variable, a register, or an expression. 14960 14961 SBValue supports iteration through its child, which in turn is represented 14962 as an SBValue. For example, we can get the general purpose registers of a 14963 frame as an SBValue, and iterate through all the registers,:: 14964 14965 registerSet = frame.registers # Returns an SBValueList. 14966 for regs in registerSet: 14967 if 'general purpose registers' in regs.name.lower(): 14968 GPRs = regs 14969 break 14970 14971 print('%s (number of children = %d):' % (GPRs.name, GPRs.num_children)) 14972 for reg in GPRs: 14973 print('Name: ', reg.name, ' Value: ', reg.value) 14974 14975 produces the output: :: 14976 14977 General Purpose Registers (number of children = 21): 14978 Name: rax Value: 0x0000000100000c5c 14979 Name: rbx Value: 0x0000000000000000 14980 Name: rcx Value: 0x00007fff5fbffec0 14981 Name: rdx Value: 0x00007fff5fbffeb8 14982 Name: rdi Value: 0x0000000000000001 14983 Name: rsi Value: 0x00007fff5fbffea8 14984 Name: rbp Value: 0x00007fff5fbffe80 14985 Name: rsp Value: 0x00007fff5fbffe60 14986 Name: r8 Value: 0x0000000008668682 14987 Name: r9 Value: 0x0000000000000000 14988 Name: r10 Value: 0x0000000000001200 14989 Name: r11 Value: 0x0000000000000206 14990 Name: r12 Value: 0x0000000000000000 14991 Name: r13 Value: 0x0000000000000000 14992 Name: r14 Value: 0x0000000000000000 14993 Name: r15 Value: 0x0000000000000000 14994 Name: rip Value: 0x0000000100000dae 14995 Name: rflags Value: 0x0000000000000206 14996 Name: cs Value: 0x0000000000000027 14997 Name: fs Value: 0x0000000000000010 14998 Name: gs Value: 0x0000000000000048 14999 15000 See also linked_list_iter() for another perspective on how to iterate through an 15001 SBValue instance which interprets the value object as representing the head of a 15002 linked list. 15003 """ 15004 15005 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15006 15007 def __init__(self, *args): 15008 r""" 15009 __init__(SBValue self) -> SBValue 15010 __init__(SBValue self, SBValue rhs) -> SBValue 15011 """ 15012 _lldb.SBValue_swiginit(self, _lldb.new_SBValue(*args)) 15013 __swig_destroy__ = _lldb.delete_SBValue 15014 15015 def __nonzero__(self): 15016 return _lldb.SBValue___nonzero__(self) 15017 __bool__ = __nonzero__ 15018 15019 15020 15021 def IsValid(self): 15022 r"""IsValid(SBValue self) -> bool""" 15023 return _lldb.SBValue_IsValid(self) 15024 15025 def Clear(self): 15026 r"""Clear(SBValue self)""" 15027 return _lldb.SBValue_Clear(self) 15028 15029 def GetError(self): 15030 r"""GetError(SBValue self) -> SBError""" 15031 return _lldb.SBValue_GetError(self) 15032 15033 def GetID(self): 15034 r"""GetID(SBValue self) -> lldb::user_id_t""" 15035 return _lldb.SBValue_GetID(self) 15036 15037 def GetName(self): 15038 r"""GetName(SBValue self) -> char const *""" 15039 return _lldb.SBValue_GetName(self) 15040 15041 def GetTypeName(self): 15042 r"""GetTypeName(SBValue self) -> char const *""" 15043 return _lldb.SBValue_GetTypeName(self) 15044 15045 def GetDisplayTypeName(self): 15046 r"""GetDisplayTypeName(SBValue self) -> char const *""" 15047 return _lldb.SBValue_GetDisplayTypeName(self) 15048 15049 def GetByteSize(self): 15050 r"""GetByteSize(SBValue self) -> size_t""" 15051 return _lldb.SBValue_GetByteSize(self) 15052 15053 def IsInScope(self): 15054 r"""IsInScope(SBValue self) -> bool""" 15055 return _lldb.SBValue_IsInScope(self) 15056 15057 def GetFormat(self): 15058 r"""GetFormat(SBValue self) -> lldb::Format""" 15059 return _lldb.SBValue_GetFormat(self) 15060 15061 def SetFormat(self, format): 15062 r"""SetFormat(SBValue self, lldb::Format format)""" 15063 return _lldb.SBValue_SetFormat(self, format) 15064 15065 def GetValue(self): 15066 r"""GetValue(SBValue self) -> char const *""" 15067 return _lldb.SBValue_GetValue(self) 15068 15069 def GetValueAsSigned(self, *args): 15070 r""" 15071 GetValueAsSigned(SBValue self, SBError error, int64_t fail_value=0) -> int64_t 15072 GetValueAsSigned(SBValue self, int64_t fail_value=0) -> int64_t 15073 """ 15074 return _lldb.SBValue_GetValueAsSigned(self, *args) 15075 15076 def GetValueAsUnsigned(self, *args): 15077 r""" 15078 GetValueAsUnsigned(SBValue self, SBError error, uint64_t fail_value=0) -> uint64_t 15079 GetValueAsUnsigned(SBValue self, uint64_t fail_value=0) -> uint64_t 15080 """ 15081 return _lldb.SBValue_GetValueAsUnsigned(self, *args) 15082 15083 def GetValueAsAddress(self): 15084 r""" 15085 GetValueAsAddress(SBValue self) -> lldb::addr_t 15086 15087 Return the value as an address. On failure, LLDB_INVALID_ADDRESS 15088 will be returned. On architectures like AArch64, where the 15089 top (unaddressable) bits can be used for authentication, 15090 memory tagging, or top byte ignore, this method will return 15091 the value with those top bits cleared. 15092 15093 GetValueAsUnsigned returns the actual value, with the 15094 authentication/Top Byte Ignore/Memory Tagging Extension bits. 15095 15096 Calling this on a random value which is not a pointer is 15097 incorrect. Call GetType().IsPointerType() if in doubt. 15098 15099 An SB API program may want to show both the literal byte value 15100 and the address it refers to in memory. These two SBValue 15101 methods allow SB API writers to behave appropriately for their 15102 interface. 15103 """ 15104 return _lldb.SBValue_GetValueAsAddress(self) 15105 15106 def GetValueType(self): 15107 r"""GetValueType(SBValue self) -> lldb::ValueType""" 15108 return _lldb.SBValue_GetValueType(self) 15109 15110 def GetValueDidChange(self): 15111 r"""GetValueDidChange(SBValue self) -> bool""" 15112 return _lldb.SBValue_GetValueDidChange(self) 15113 15114 def GetSummary(self, *args): 15115 r""" 15116 GetSummary(SBValue self) -> char const 15117 GetSummary(SBValue self, SBStream stream, SBTypeSummaryOptions options) -> char const * 15118 """ 15119 return _lldb.SBValue_GetSummary(self, *args) 15120 15121 def GetObjectDescription(self): 15122 r"""GetObjectDescription(SBValue self) -> char const *""" 15123 return _lldb.SBValue_GetObjectDescription(self) 15124 15125 def GetDynamicValue(self, use_dynamic): 15126 r"""GetDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic) -> SBValue""" 15127 return _lldb.SBValue_GetDynamicValue(self, use_dynamic) 15128 15129 def GetStaticValue(self): 15130 r"""GetStaticValue(SBValue self) -> SBValue""" 15131 return _lldb.SBValue_GetStaticValue(self) 15132 15133 def GetNonSyntheticValue(self): 15134 r"""GetNonSyntheticValue(SBValue self) -> SBValue""" 15135 return _lldb.SBValue_GetNonSyntheticValue(self) 15136 15137 def GetPreferDynamicValue(self): 15138 r"""GetPreferDynamicValue(SBValue self) -> lldb::DynamicValueType""" 15139 return _lldb.SBValue_GetPreferDynamicValue(self) 15140 15141 def SetPreferDynamicValue(self, use_dynamic): 15142 r"""SetPreferDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic)""" 15143 return _lldb.SBValue_SetPreferDynamicValue(self, use_dynamic) 15144 15145 def GetPreferSyntheticValue(self): 15146 r"""GetPreferSyntheticValue(SBValue self) -> bool""" 15147 return _lldb.SBValue_GetPreferSyntheticValue(self) 15148 15149 def SetPreferSyntheticValue(self, use_synthetic): 15150 r"""SetPreferSyntheticValue(SBValue self, bool use_synthetic)""" 15151 return _lldb.SBValue_SetPreferSyntheticValue(self, use_synthetic) 15152 15153 def IsDynamic(self): 15154 r"""IsDynamic(SBValue self) -> bool""" 15155 return _lldb.SBValue_IsDynamic(self) 15156 15157 def IsSynthetic(self): 15158 r"""IsSynthetic(SBValue self) -> bool""" 15159 return _lldb.SBValue_IsSynthetic(self) 15160 15161 def IsSyntheticChildrenGenerated(self): 15162 r"""IsSyntheticChildrenGenerated(SBValue self) -> bool""" 15163 return _lldb.SBValue_IsSyntheticChildrenGenerated(self) 15164 15165 def SetSyntheticChildrenGenerated(self, arg2): 15166 r"""SetSyntheticChildrenGenerated(SBValue self, bool arg2)""" 15167 return _lldb.SBValue_SetSyntheticChildrenGenerated(self, arg2) 15168 15169 def GetLocation(self): 15170 r"""GetLocation(SBValue self) -> char const *""" 15171 return _lldb.SBValue_GetLocation(self) 15172 15173 def SetValueFromCString(self, *args): 15174 r""" 15175 SetValueFromCString(SBValue self, char const * value_str) -> bool 15176 SetValueFromCString(SBValue self, char const * value_str, SBError error) -> bool 15177 """ 15178 return _lldb.SBValue_SetValueFromCString(self, *args) 15179 15180 def GetTypeFormat(self): 15181 r"""GetTypeFormat(SBValue self) -> SBTypeFormat""" 15182 return _lldb.SBValue_GetTypeFormat(self) 15183 15184 def GetTypeSummary(self): 15185 r"""GetTypeSummary(SBValue self) -> SBTypeSummary""" 15186 return _lldb.SBValue_GetTypeSummary(self) 15187 15188 def GetTypeFilter(self): 15189 r"""GetTypeFilter(SBValue self) -> SBTypeFilter""" 15190 return _lldb.SBValue_GetTypeFilter(self) 15191 15192 def GetTypeSynthetic(self): 15193 r"""GetTypeSynthetic(SBValue self) -> SBTypeSynthetic""" 15194 return _lldb.SBValue_GetTypeSynthetic(self) 15195 15196 def CreateChildAtOffset(self, name, offset, type): 15197 r"""CreateChildAtOffset(SBValue self, char const * name, uint32_t offset, SBType type) -> SBValue""" 15198 return _lldb.SBValue_CreateChildAtOffset(self, name, offset, type) 15199 15200 def Cast(self, type): 15201 r"""Cast(SBValue self, SBType type) -> SBValue""" 15202 return _lldb.SBValue_Cast(self, type) 15203 15204 def CreateValueFromExpression(self, *args): 15205 r""" 15206 CreateValueFromExpression(SBValue self, char const * name, char const * expression) -> SBValue 15207 CreateValueFromExpression(SBValue self, char const * name, char const * expression, SBExpressionOptions options) -> SBValue 15208 """ 15209 return _lldb.SBValue_CreateValueFromExpression(self, *args) 15210 15211 def CreateValueFromAddress(self, name, address, type): 15212 r"""CreateValueFromAddress(SBValue self, char const * name, lldb::addr_t address, SBType type) -> SBValue""" 15213 return _lldb.SBValue_CreateValueFromAddress(self, name, address, type) 15214 15215 def CreateValueFromData(self, name, data, type): 15216 r"""CreateValueFromData(SBValue self, char const * name, SBData data, SBType type) -> SBValue""" 15217 return _lldb.SBValue_CreateValueFromData(self, name, data, type) 15218 15219 def GetChildAtIndex(self, *args): 15220 r""" 15221 GetChildAtIndex(SBValue self, uint32_t idx) -> SBValue 15222 GetChildAtIndex(SBValue self, uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic) -> SBValue 15223 15224 Get a child value by index from a value. 15225 15226 Structs, unions, classes, arrays and pointers have child 15227 values that can be access by index. 15228 15229 Structs and unions access child members using a zero based index 15230 for each child member. For 15231 15232 Classes reserve the first indexes for base classes that have 15233 members (empty base classes are omitted), and all members of the 15234 current class will then follow the base classes. 15235 15236 Pointers differ depending on what they point to. If the pointer 15237 points to a simple type, the child at index zero 15238 is the only child value available, unless synthetic_allowed 15239 is true, in which case the pointer will be used as an array 15240 and can create 'synthetic' child values using positive or 15241 negative indexes. If the pointer points to an aggregate type 15242 (an array, class, union, struct), then the pointee is 15243 transparently skipped and any children are going to be the indexes 15244 of the child values within the aggregate type. For example if 15245 we have a 'Point' type and we have a SBValue that contains a 15246 pointer to a 'Point' type, then the child at index zero will be 15247 the 'x' member, and the child at index 1 will be the 'y' member 15248 (the child at index zero won't be a 'Point' instance). 15249 15250 If you actually need an SBValue that represents the type pointed 15251 to by a SBValue for which GetType().IsPointeeType() returns true, 15252 regardless of the pointee type, you can do that with the SBValue.Dereference 15253 method (or the equivalent deref property). 15254 15255 Arrays have a preset number of children that can be accessed by 15256 index and will returns invalid child values for indexes that are 15257 out of bounds unless the synthetic_allowed is true. In this 15258 case the array can create 'synthetic' child values for indexes 15259 that aren't in the array bounds using positive or negative 15260 indexes. 15261 15262 @param[in] idx 15263 The index of the child value to get 15264 15265 @param[in] use_dynamic 15266 An enumeration that specifies whether to get dynamic values, 15267 and also if the target can be run to figure out the dynamic 15268 type of the child value. 15269 15270 @param[in] synthetic_allowed 15271 If true, then allow child values to be created by index 15272 for pointers and arrays for indexes that normally wouldn't 15273 be allowed. 15274 15275 @return 15276 A new SBValue object that represents the child member value. 15277 """ 15278 return _lldb.SBValue_GetChildAtIndex(self, *args) 15279 15280 def GetIndexOfChildWithName(self, name): 15281 r""" 15282 GetIndexOfChildWithName(SBValue self, char const * name) -> uint32_t 15283 15284 Returns the child member index. 15285 15286 Matches children of this object only and will match base classes and 15287 member names if this is a clang typed object. 15288 15289 @param[in] name 15290 The name of the child value to get 15291 15292 @return 15293 An index to the child member value. 15294 """ 15295 return _lldb.SBValue_GetIndexOfChildWithName(self, name) 15296 15297 def GetChildMemberWithName(self, *args): 15298 r""" 15299 GetChildMemberWithName(SBValue self, char const * name) -> SBValue 15300 GetChildMemberWithName(SBValue self, char const * name, lldb::DynamicValueType use_dynamic) -> SBValue 15301 15302 Returns the child member value. 15303 15304 Matches child members of this object and child members of any base 15305 classes. 15306 15307 @param[in] name 15308 The name of the child value to get 15309 15310 @param[in] use_dynamic 15311 An enumeration that specifies whether to get dynamic values, 15312 and also if the target can be run to figure out the dynamic 15313 type of the child value. 15314 15315 @return 15316 A new SBValue object that represents the child member value. 15317 """ 15318 return _lldb.SBValue_GetChildMemberWithName(self, *args) 15319 15320 def GetValueForExpressionPath(self, expr_path): 15321 r""" 15322 GetValueForExpressionPath(SBValue self, char const * expr_path) -> SBValue 15323 Expands nested expressions like .a->b[0].c[1]->d. 15324 """ 15325 return _lldb.SBValue_GetValueForExpressionPath(self, expr_path) 15326 15327 def AddressOf(self): 15328 r"""AddressOf(SBValue self) -> SBValue""" 15329 return _lldb.SBValue_AddressOf(self) 15330 15331 def GetLoadAddress(self): 15332 r"""GetLoadAddress(SBValue self) -> lldb::addr_t""" 15333 return _lldb.SBValue_GetLoadAddress(self) 15334 15335 def GetAddress(self): 15336 r"""GetAddress(SBValue self) -> SBAddress""" 15337 return _lldb.SBValue_GetAddress(self) 15338 15339 def GetPointeeData(self, item_idx=0, item_count=1): 15340 r""" 15341 GetPointeeData(SBValue self, uint32_t item_idx=0, uint32_t item_count=1) -> SBData 15342 15343 Get an SBData wrapping what this SBValue points to. 15344 15345 This method will dereference the current SBValue, if its 15346 data type is a ``T\*`` or ``T[]``, and extract ``item_count`` elements 15347 of type ``T`` from it, copying their contents in an :py:class:`SBData`. 15348 15349 :param item_idx: The index of the first item to retrieve. For an array 15350 this is equivalent to array[item_idx], for a pointer 15351 to ``\*(pointer + item_idx)``. In either case, the measurement 15352 unit for item_idx is the ``sizeof(T)`` rather than the byte 15353 :param item_count: How many items should be copied into the output. By default 15354 only one item is copied, but more can be asked for. 15355 :return: The contents of the copied items on success. An empty :py:class:`SBData` otherwise. 15356 :rtype: SBData 15357 15358 """ 15359 return _lldb.SBValue_GetPointeeData(self, item_idx, item_count) 15360 15361 def GetData(self): 15362 r""" 15363 GetData(SBValue self) -> SBData 15364 15365 Get an SBData wrapping the contents of this SBValue. 15366 15367 This method will read the contents of this object in memory 15368 and copy them into an SBData for future use. 15369 15370 @return 15371 An SBData with the contents of this SBValue, on success. 15372 An empty SBData otherwise. 15373 """ 15374 return _lldb.SBValue_GetData(self) 15375 15376 def SetData(self, data, error): 15377 r"""SetData(SBValue self, SBData data, SBError error) -> bool""" 15378 return _lldb.SBValue_SetData(self, data, error) 15379 15380 def Clone(self, new_name): 15381 r"""Clone(SBValue self, char const * new_name) -> SBValue""" 15382 return _lldb.SBValue_Clone(self, new_name) 15383 15384 def GetDeclaration(self): 15385 r"""GetDeclaration(SBValue self) -> SBDeclaration""" 15386 return _lldb.SBValue_GetDeclaration(self) 15387 15388 def MightHaveChildren(self): 15389 r"""MightHaveChildren(SBValue self) -> bool""" 15390 return _lldb.SBValue_MightHaveChildren(self) 15391 15392 def IsRuntimeSupportValue(self): 15393 r"""IsRuntimeSupportValue(SBValue self) -> bool""" 15394 return _lldb.SBValue_IsRuntimeSupportValue(self) 15395 15396 def GetNumChildren(self, *args): 15397 r""" 15398 GetNumChildren(SBValue self) -> uint32_t 15399 GetNumChildren(SBValue self, uint32_t max) -> uint32_t 15400 """ 15401 return _lldb.SBValue_GetNumChildren(self, *args) 15402 15403 def GetOpaqueType(self): 15404 r"""GetOpaqueType(SBValue self) -> void *""" 15405 return _lldb.SBValue_GetOpaqueType(self) 15406 15407 def GetTarget(self): 15408 r"""GetTarget(SBValue self) -> SBTarget""" 15409 return _lldb.SBValue_GetTarget(self) 15410 15411 def GetProcess(self): 15412 r"""GetProcess(SBValue self) -> SBProcess""" 15413 return _lldb.SBValue_GetProcess(self) 15414 15415 def GetThread(self): 15416 r"""GetThread(SBValue self) -> SBThread""" 15417 return _lldb.SBValue_GetThread(self) 15418 15419 def GetFrame(self): 15420 r"""GetFrame(SBValue self) -> SBFrame""" 15421 return _lldb.SBValue_GetFrame(self) 15422 15423 def Dereference(self): 15424 r"""Dereference(SBValue self) -> SBValue""" 15425 return _lldb.SBValue_Dereference(self) 15426 15427 def TypeIsPointerType(self): 15428 r"""TypeIsPointerType(SBValue self) -> bool""" 15429 return _lldb.SBValue_TypeIsPointerType(self) 15430 15431 def GetType(self): 15432 r"""GetType(SBValue self) -> SBType""" 15433 return _lldb.SBValue_GetType(self) 15434 15435 def Persist(self): 15436 r"""Persist(SBValue self) -> SBValue""" 15437 return _lldb.SBValue_Persist(self) 15438 15439 def GetDescription(self, description): 15440 r"""GetDescription(SBValue self, SBStream description) -> bool""" 15441 return _lldb.SBValue_GetDescription(self, description) 15442 15443 def GetExpressionPath(self, *args): 15444 r""" 15445 GetExpressionPath(SBValue self, SBStream description) -> bool 15446 GetExpressionPath(SBValue self, SBStream description, bool qualify_cxx_base_classes) -> bool 15447 Returns an expression path for this value. 15448 """ 15449 return _lldb.SBValue_GetExpressionPath(self, *args) 15450 15451 def EvaluateExpression(self, *args): 15452 r""" 15453 EvaluateExpression(SBValue self, char const * expr) -> SBValue 15454 EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options) -> SBValue 15455 EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options, char const * name) -> SBValue 15456 """ 15457 return _lldb.SBValue_EvaluateExpression(self, *args) 15458 15459 def Watch(self, *args): 15460 r""" 15461 Watch(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint 15462 Watch(SBValue self, bool resolve_location, bool read, bool write) -> SBWatchpoint 15463 15464 Find and watch a variable. 15465 It returns an SBWatchpoint, which may be invalid. 15466 """ 15467 return _lldb.SBValue_Watch(self, *args) 15468 15469 def WatchPointee(self, resolve_location, read, write, error): 15470 r""" 15471 WatchPointee(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint 15472 15473 Find and watch the location pointed to by a variable. 15474 It returns an SBWatchpoint, which may be invalid. 15475 """ 15476 return _lldb.SBValue_WatchPointee(self, resolve_location, read, write, error) 15477 15478 def GetVTable(self): 15479 r"""GetVTable(SBValue self) -> SBValue""" 15480 return _lldb.SBValue_GetVTable(self) 15481 15482 def __repr__(self): 15483 r"""__repr__(SBValue self) -> std::string""" 15484 return _lldb.SBValue___repr__(self) 15485 15486 def __get_dynamic__ (self): 15487 '''Helper function for the "SBValue.dynamic" property.''' 15488 return self.GetDynamicValue (eDynamicCanRunTarget) 15489 15490 class children_access(object): 15491 '''A helper object that will lazily hand out thread for a process when supplied an index.''' 15492 15493 def __init__(self, sbvalue): 15494 self.sbvalue = sbvalue 15495 15496 def __len__(self): 15497 if self.sbvalue: 15498 return int(self.sbvalue.GetNumChildren()) 15499 return 0 15500 15501 def __getitem__(self, key): 15502 if isinstance(key, int): 15503 count = len(self) 15504 if -count <= key < count: 15505 key %= count 15506 return self.sbvalue.GetChildAtIndex(key) 15507 return None 15508 15509 def get_child_access_object(self): 15510 '''An accessor function that returns a children_access() object which allows lazy member variable access from a lldb.SBValue object.''' 15511 return self.children_access (self) 15512 15513 def get_value_child_list(self): 15514 '''An accessor function that returns a list() that contains all children in a lldb.SBValue object.''' 15515 children = [] 15516 accessor = self.get_child_access_object() 15517 for idx in range(len(accessor)): 15518 children.append(accessor[idx]) 15519 return children 15520 15521 def __hex__(self): 15522 return self.GetAddress() 15523 15524 def __iter__(self): 15525 '''Iterate over all child values of a lldb.SBValue object.''' 15526 return lldb_iter(self, 'GetNumChildren', 'GetChildAtIndex') 15527 15528 def __len__(self): 15529 '''Return the number of child values of a lldb.SBValue object.''' 15530 return self.GetNumChildren() 15531 15532 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.''') 15533 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]).''') 15534 name = property(GetName, None, doc='''A read only property that returns the name of this value as a string.''') 15535 type = property(GetType, None, doc='''A read only property that returns a lldb.SBType object that represents the type for this value.''') 15536 size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this value.''') 15537 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.''') 15538 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".''') 15539 value = property(GetValue, SetValueFromCString, doc='''A read/write property that gets/sets value from a string.''') 15540 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.).''') 15541 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.''') 15542 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.''') 15543 load_addr = property(GetLoadAddress, None, doc='''A read only property that returns the load address of this value as an integer.''') 15544 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.''') 15545 deref = property(Dereference, None, doc='''A read only property that returns an lldb.SBValue that is created by dereferencing this value.''') 15546 address_of = property(AddressOf, None, doc='''A read only property that returns an lldb.SBValue that represents the address-of this value.''') 15547 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.''') 15548 summary = property(GetSummary, None, doc='''A read only property that returns the summary for this value as a string''') 15549 description = property(GetObjectDescription, None, doc='''A read only property that returns the language-specific description of this value as a string''') 15550 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.''') 15551 location = property(GetLocation, None, doc='''A read only property that returns the location of this value as a string.''') 15552 target = property(GetTarget, None, doc='''A read only property that returns the lldb.SBTarget that this value is associated with.''') 15553 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.''') 15554 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.''') 15555 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.''') 15556 num_children = property(GetNumChildren, None, doc='''A read only property that returns the number of child lldb.SBValues that this value has.''') 15557 unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this SBValue as an usigned integer.''') 15558 signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this SBValue as a signed integer.''') 15559 15560 def get_expr_path(self): 15561 s = SBStream() 15562 self.GetExpressionPath (s) 15563 return s.GetData() 15564 15565 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.''') 15566 15567 def synthetic_child_from_expression(self, name, expr, options=None): 15568 if options is None: options = lldb.SBExpressionOptions() 15569 child = self.CreateValueFromExpression(name, expr, options) 15570 child.SetSyntheticChildrenGenerated(True) 15571 return child 15572 15573 def synthetic_child_from_data(self, name, data, type): 15574 child = self.CreateValueFromData(name, data, type) 15575 child.SetSyntheticChildrenGenerated(True) 15576 return child 15577 15578 def synthetic_child_from_address(self, name, addr, type): 15579 child = self.CreateValueFromAddress(name, addr, type) 15580 child.SetSyntheticChildrenGenerated(True) 15581 return child 15582 15583 def __eol_test(val): 15584 """Default function for end of list test takes an SBValue object. 15585 15586 Return True if val is invalid or it corresponds to a null pointer. 15587 Otherwise, return False. 15588 """ 15589 if not val or val.GetValueAsUnsigned() == 0: 15590 return True 15591 else: 15592 return False 15593 15594 # ================================================== 15595 # Iterator for lldb.SBValue treated as a linked list 15596 # ================================================== 15597 def linked_list_iter(self, next_item_name, end_of_list_test=__eol_test): 15598 """Generator adaptor to support iteration for SBValue as a linked list. 15599 15600 linked_list_iter() is a special purpose iterator to treat the SBValue as 15601 the head of a list data structure, where you specify the child member 15602 name which points to the next item on the list and you specify the 15603 end-of-list test function which takes an SBValue for an item and returns 15604 True if EOL is reached and False if not. 15605 15606 linked_list_iter() also detects infinite loop and bails out early. 15607 15608 The end_of_list_test arg, if omitted, defaults to the __eol_test 15609 function above. 15610 15611 For example, 15612 15613 # Get Frame #0. 15614 ... 15615 15616 # Get variable 'task_head'. 15617 task_head = frame0.FindVariable('task_head') 15618 ... 15619 15620 for t in task_head.linked_list_iter('next'): 15621 print t 15622 """ 15623 if end_of_list_test(self): 15624 return 15625 item = self 15626 visited = set() 15627 try: 15628 while not end_of_list_test(item) and not item.GetValueAsUnsigned() in visited: 15629 visited.add(item.GetValueAsUnsigned()) 15630 yield item 15631 # Prepare for the next iteration. 15632 item = item.GetChildMemberWithName(next_item_name) 15633 except: 15634 # Exception occurred. Stop the generator. 15635 pass 15636 15637 return 15638 15639 15640# Register SBValue in _lldb: 15641_lldb.SBValue_swigregister(SBValue) 15642class SBValueList(object): 15643 r""" 15644 Represents a collection of SBValues. Both :py:class:`SBFrame.GetVariables()` and 15645 :py:class:`SBFrame.GetRegisters()` return a SBValueList. 15646 15647 SBValueList supports :py:class:`SBValue` iteration. For example (from test/lldbutil.py),:: 15648 15649 def get_registers(frame, kind): 15650 '''Returns the registers given the frame and the kind of registers desired. 15651 15652 Returns None if there's no such kind. 15653 ''' 15654 registerSet = frame.GetRegisters() # Return type of SBValueList. 15655 for value in registerSet: 15656 if kind.lower() in value.GetName().lower(): 15657 return value 15658 15659 return None 15660 15661 def get_GPRs(frame): 15662 '''Returns the general purpose registers of the frame as an SBValue. 15663 15664 The returned SBValue object is iterable. An example: 15665 ... 15666 from lldbutil import get_GPRs 15667 regs = get_GPRs(frame) 15668 for reg in regs: 15669 print('%s => %s' % (reg.GetName(), reg.GetValue())) 15670 ... 15671 ''' 15672 return get_registers(frame, 'general purpose') 15673 15674 def get_FPRs(frame): 15675 '''Returns the floating point registers of the frame as an SBValue. 15676 15677 The returned SBValue object is iterable. An example: 15678 ... 15679 from lldbutil import get_FPRs 15680 regs = get_FPRs(frame) 15681 for reg in regs: 15682 print('%s => %s' % (reg.GetName(), reg.GetValue())) 15683 ... 15684 ''' 15685 return get_registers(frame, 'floating point') 15686 15687 def get_ESRs(frame): 15688 '''Returns the exception state registers of the frame as an SBValue. 15689 15690 The returned SBValue object is iterable. An example: 15691 ... 15692 from lldbutil import get_ESRs 15693 regs = get_ESRs(frame) 15694 for reg in regs: 15695 print('%s => %s' % (reg.GetName(), reg.GetValue())) 15696 ... 15697 ''' 15698 return get_registers(frame, 'exception state') 15699 15700 """ 15701 15702 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15703 __repr__ = _swig_repr 15704 15705 def __init__(self, *args): 15706 r""" 15707 __init__(SBValueList self) -> SBValueList 15708 __init__(SBValueList self, SBValueList rhs) -> SBValueList 15709 """ 15710 _lldb.SBValueList_swiginit(self, _lldb.new_SBValueList(*args)) 15711 __swig_destroy__ = _lldb.delete_SBValueList 15712 15713 def __nonzero__(self): 15714 return _lldb.SBValueList___nonzero__(self) 15715 __bool__ = __nonzero__ 15716 15717 15718 15719 def IsValid(self): 15720 r"""IsValid(SBValueList self) -> bool""" 15721 return _lldb.SBValueList_IsValid(self) 15722 15723 def Clear(self): 15724 r"""Clear(SBValueList self)""" 15725 return _lldb.SBValueList_Clear(self) 15726 15727 def Append(self, *args): 15728 r""" 15729 Append(SBValueList self, SBValue val_obj) 15730 Append(SBValueList self, SBValueList value_list) 15731 """ 15732 return _lldb.SBValueList_Append(self, *args) 15733 15734 def GetSize(self): 15735 r"""GetSize(SBValueList self) -> uint32_t""" 15736 return _lldb.SBValueList_GetSize(self) 15737 15738 def GetValueAtIndex(self, idx): 15739 r"""GetValueAtIndex(SBValueList self, uint32_t idx) -> SBValue""" 15740 return _lldb.SBValueList_GetValueAtIndex(self, idx) 15741 15742 def GetFirstValueByName(self, name): 15743 r"""GetFirstValueByName(SBValueList self, char const * name) -> SBValue""" 15744 return _lldb.SBValueList_GetFirstValueByName(self, name) 15745 15746 def FindValueObjectByUID(self, uid): 15747 r"""FindValueObjectByUID(SBValueList self, lldb::user_id_t uid) -> SBValue""" 15748 return _lldb.SBValueList_FindValueObjectByUID(self, uid) 15749 15750 def GetError(self): 15751 r"""GetError(SBValueList self) -> SBError""" 15752 return _lldb.SBValueList_GetError(self) 15753 15754 def __str__(self): 15755 r"""__str__(SBValueList self) -> std::string""" 15756 return _lldb.SBValueList___str__(self) 15757 15758 def __iter__(self): 15759 '''Iterate over all values in a lldb.SBValueList object.''' 15760 return lldb_iter(self, 'GetSize', 'GetValueAtIndex') 15761 15762 def __len__(self): 15763 return int(self.GetSize()) 15764 15765 def __getitem__(self, key): 15766 count = len(self) 15767 #------------------------------------------------------------ 15768 # Access with "int" to get Nth item in the list 15769 #------------------------------------------------------------ 15770 if type(key) is int: 15771 if -count <= key < count: 15772 key %= count 15773 return self.GetValueAtIndex(key) 15774 #------------------------------------------------------------ 15775 # Access with "str" to get values by name 15776 #------------------------------------------------------------ 15777 elif type(key) is str: 15778 matches = [] 15779 for idx in range(count): 15780 value = self.GetValueAtIndex(idx) 15781 if value.name == key: 15782 matches.append(value) 15783 return matches 15784 #------------------------------------------------------------ 15785 # Match with regex 15786 #------------------------------------------------------------ 15787 elif isinstance(key, type(re.compile('.'))): 15788 matches = [] 15789 for idx in range(count): 15790 value = self.GetValueAtIndex(idx) 15791 re_match = key.search(value.name) 15792 if re_match: 15793 matches.append(value) 15794 return matches 15795 15796 15797 15798# Register SBValueList in _lldb: 15799_lldb.SBValueList_swigregister(SBValueList) 15800class SBVariablesOptions(object): 15801 r"""Describes which variables should be returned from :py:class:`SBFrame.GetVariables`.""" 15802 15803 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15804 __repr__ = _swig_repr 15805 15806 def __init__(self, *args): 15807 r""" 15808 __init__(SBVariablesOptions self) -> SBVariablesOptions 15809 __init__(SBVariablesOptions self, SBVariablesOptions options) -> SBVariablesOptions 15810 """ 15811 _lldb.SBVariablesOptions_swiginit(self, _lldb.new_SBVariablesOptions(*args)) 15812 __swig_destroy__ = _lldb.delete_SBVariablesOptions 15813 15814 def __nonzero__(self): 15815 return _lldb.SBVariablesOptions___nonzero__(self) 15816 __bool__ = __nonzero__ 15817 15818 15819 15820 def IsValid(self): 15821 r"""IsValid(SBVariablesOptions self) -> bool""" 15822 return _lldb.SBVariablesOptions_IsValid(self) 15823 15824 def GetIncludeArguments(self): 15825 r"""GetIncludeArguments(SBVariablesOptions self) -> bool""" 15826 return _lldb.SBVariablesOptions_GetIncludeArguments(self) 15827 15828 def SetIncludeArguments(self, arg2): 15829 r"""SetIncludeArguments(SBVariablesOptions self, bool arg2)""" 15830 return _lldb.SBVariablesOptions_SetIncludeArguments(self, arg2) 15831 15832 def GetIncludeRecognizedArguments(self, arg2): 15833 r"""GetIncludeRecognizedArguments(SBVariablesOptions self, SBTarget arg2) -> bool""" 15834 return _lldb.SBVariablesOptions_GetIncludeRecognizedArguments(self, arg2) 15835 15836 def SetIncludeRecognizedArguments(self, arg2): 15837 r"""SetIncludeRecognizedArguments(SBVariablesOptions self, bool arg2)""" 15838 return _lldb.SBVariablesOptions_SetIncludeRecognizedArguments(self, arg2) 15839 15840 def GetIncludeLocals(self): 15841 r"""GetIncludeLocals(SBVariablesOptions self) -> bool""" 15842 return _lldb.SBVariablesOptions_GetIncludeLocals(self) 15843 15844 def SetIncludeLocals(self, arg2): 15845 r"""SetIncludeLocals(SBVariablesOptions self, bool arg2)""" 15846 return _lldb.SBVariablesOptions_SetIncludeLocals(self, arg2) 15847 15848 def GetIncludeStatics(self): 15849 r"""GetIncludeStatics(SBVariablesOptions self) -> bool""" 15850 return _lldb.SBVariablesOptions_GetIncludeStatics(self) 15851 15852 def SetIncludeStatics(self, arg2): 15853 r"""SetIncludeStatics(SBVariablesOptions self, bool arg2)""" 15854 return _lldb.SBVariablesOptions_SetIncludeStatics(self, arg2) 15855 15856 def GetInScopeOnly(self): 15857 r"""GetInScopeOnly(SBVariablesOptions self) -> bool""" 15858 return _lldb.SBVariablesOptions_GetInScopeOnly(self) 15859 15860 def SetInScopeOnly(self, arg2): 15861 r"""SetInScopeOnly(SBVariablesOptions self, bool arg2)""" 15862 return _lldb.SBVariablesOptions_SetInScopeOnly(self, arg2) 15863 15864 def GetIncludeRuntimeSupportValues(self): 15865 r"""GetIncludeRuntimeSupportValues(SBVariablesOptions self) -> bool""" 15866 return _lldb.SBVariablesOptions_GetIncludeRuntimeSupportValues(self) 15867 15868 def SetIncludeRuntimeSupportValues(self, arg2): 15869 r"""SetIncludeRuntimeSupportValues(SBVariablesOptions self, bool arg2)""" 15870 return _lldb.SBVariablesOptions_SetIncludeRuntimeSupportValues(self, arg2) 15871 15872 def GetUseDynamic(self): 15873 r"""GetUseDynamic(SBVariablesOptions self) -> lldb::DynamicValueType""" 15874 return _lldb.SBVariablesOptions_GetUseDynamic(self) 15875 15876 def SetUseDynamic(self, arg2): 15877 r"""SetUseDynamic(SBVariablesOptions self, lldb::DynamicValueType arg2)""" 15878 return _lldb.SBVariablesOptions_SetUseDynamic(self, arg2) 15879 15880# Register SBVariablesOptions in _lldb: 15881_lldb.SBVariablesOptions_swigregister(SBVariablesOptions) 15882class SBWatchpoint(object): 15883 r""" 15884 Represents an instance of watchpoint for a specific target program. 15885 15886 A watchpoint is determined by the address and the byte size that resulted in 15887 this particular instantiation. Each watchpoint has its settable options. 15888 15889 See also :py:class:`SBTarget.watchpoint_iter()` for example usage of iterating through the 15890 watchpoints of the target. 15891 """ 15892 15893 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 15894 15895 def __init__(self, *args): 15896 r""" 15897 __init__(SBWatchpoint self) -> SBWatchpoint 15898 __init__(SBWatchpoint self, SBWatchpoint rhs) -> SBWatchpoint 15899 """ 15900 _lldb.SBWatchpoint_swiginit(self, _lldb.new_SBWatchpoint(*args)) 15901 __swig_destroy__ = _lldb.delete_SBWatchpoint 15902 15903 def __nonzero__(self): 15904 return _lldb.SBWatchpoint___nonzero__(self) 15905 __bool__ = __nonzero__ 15906 15907 15908 15909 def __eq__(self, rhs): 15910 r"""__eq__(SBWatchpoint self, SBWatchpoint rhs) -> bool""" 15911 return _lldb.SBWatchpoint___eq__(self, rhs) 15912 15913 def __ne__(self, rhs): 15914 r"""__ne__(SBWatchpoint self, SBWatchpoint rhs) -> bool""" 15915 return _lldb.SBWatchpoint___ne__(self, rhs) 15916 15917 def IsValid(self): 15918 r"""IsValid(SBWatchpoint self) -> bool""" 15919 return _lldb.SBWatchpoint_IsValid(self) 15920 15921 def GetError(self): 15922 r"""GetError(SBWatchpoint self) -> SBError""" 15923 return _lldb.SBWatchpoint_GetError(self) 15924 15925 def GetID(self): 15926 r"""GetID(SBWatchpoint self) -> lldb::watch_id_t""" 15927 return _lldb.SBWatchpoint_GetID(self) 15928 15929 def GetHardwareIndex(self): 15930 r""" 15931 GetHardwareIndex(SBWatchpoint self) -> int32_t 15932 15933 Deprecated. Previously: Return the hardware index of the 15934 watchpoint register. Now: -1 is always returned. 15935 """ 15936 return _lldb.SBWatchpoint_GetHardwareIndex(self) 15937 15938 def GetWatchAddress(self): 15939 r"""GetWatchAddress(SBWatchpoint self) -> lldb::addr_t""" 15940 return _lldb.SBWatchpoint_GetWatchAddress(self) 15941 15942 def GetWatchSize(self): 15943 r"""GetWatchSize(SBWatchpoint self) -> size_t""" 15944 return _lldb.SBWatchpoint_GetWatchSize(self) 15945 15946 def SetEnabled(self, enabled): 15947 r"""SetEnabled(SBWatchpoint self, bool enabled)""" 15948 return _lldb.SBWatchpoint_SetEnabled(self, enabled) 15949 15950 def IsEnabled(self): 15951 r"""IsEnabled(SBWatchpoint self) -> bool""" 15952 return _lldb.SBWatchpoint_IsEnabled(self) 15953 15954 def GetHitCount(self): 15955 r"""GetHitCount(SBWatchpoint self) -> uint32_t""" 15956 return _lldb.SBWatchpoint_GetHitCount(self) 15957 15958 def GetIgnoreCount(self): 15959 r"""GetIgnoreCount(SBWatchpoint self) -> uint32_t""" 15960 return _lldb.SBWatchpoint_GetIgnoreCount(self) 15961 15962 def SetIgnoreCount(self, n): 15963 r"""SetIgnoreCount(SBWatchpoint self, uint32_t n)""" 15964 return _lldb.SBWatchpoint_SetIgnoreCount(self, n) 15965 15966 def GetCondition(self): 15967 r""" 15968 GetCondition(SBWatchpoint self) -> char const * 15969 15970 Get the condition expression for the watchpoint. 15971 """ 15972 return _lldb.SBWatchpoint_GetCondition(self) 15973 15974 def SetCondition(self, condition): 15975 r""" 15976 SetCondition(SBWatchpoint self, char const * condition) 15977 15978 The watchpoint stops only if the condition expression evaluates to true. 15979 """ 15980 return _lldb.SBWatchpoint_SetCondition(self, condition) 15981 15982 def GetDescription(self, description, level): 15983 r"""GetDescription(SBWatchpoint self, SBStream description, lldb::DescriptionLevel level) -> bool""" 15984 return _lldb.SBWatchpoint_GetDescription(self, description, level) 15985 15986 def Clear(self): 15987 r"""Clear(SBWatchpoint self)""" 15988 return _lldb.SBWatchpoint_Clear(self) 15989 15990 @staticmethod 15991 def EventIsWatchpointEvent(event): 15992 r"""EventIsWatchpointEvent(SBEvent event) -> bool""" 15993 return _lldb.SBWatchpoint_EventIsWatchpointEvent(event) 15994 15995 @staticmethod 15996 def GetWatchpointEventTypeFromEvent(event): 15997 r"""GetWatchpointEventTypeFromEvent(SBEvent event) -> lldb::WatchpointEventType""" 15998 return _lldb.SBWatchpoint_GetWatchpointEventTypeFromEvent(event) 15999 16000 @staticmethod 16001 def GetWatchpointFromEvent(event): 16002 r"""GetWatchpointFromEvent(SBEvent event) -> SBWatchpoint""" 16003 return _lldb.SBWatchpoint_GetWatchpointFromEvent(event) 16004 16005 def GetType(self): 16006 r""" 16007 GetType(SBWatchpoint self) -> SBType 16008 16009 Returns the type recorded when the watchpoint was created. For variable 16010 watchpoints it is the type of the watched variable. For expression 16011 watchpoints it is the type of the provided expression. 16012 """ 16013 return _lldb.SBWatchpoint_GetType(self) 16014 16015 def GetWatchValueKind(self): 16016 r""" 16017 GetWatchValueKind(SBWatchpoint self) -> lldb::WatchpointValueKind 16018 16019 Returns the kind of value that was watched when the watchpoint was created. 16020 Returns one of the following eWatchPointValueKindVariable, 16021 eWatchPointValueKindExpression, eWatchPointValueKindInvalid. 16022 16023 """ 16024 return _lldb.SBWatchpoint_GetWatchValueKind(self) 16025 16026 def GetWatchSpec(self): 16027 r""" 16028 GetWatchSpec(SBWatchpoint self) -> char const * 16029 16030 Get the spec for the watchpoint. For variable watchpoints this is the name 16031 of the variable. For expression watchpoints it is empty 16032 (may change in the future). 16033 """ 16034 return _lldb.SBWatchpoint_GetWatchSpec(self) 16035 16036 def IsWatchingReads(self): 16037 r""" 16038 IsWatchingReads(SBWatchpoint self) -> bool 16039 16040 Returns true if the watchpoint is watching reads. Returns false otherwise. 16041 """ 16042 return _lldb.SBWatchpoint_IsWatchingReads(self) 16043 16044 def IsWatchingWrites(self): 16045 r""" 16046 IsWatchingWrites(SBWatchpoint self) -> bool 16047 16048 Returns true if the watchpoint is watching writes. Returns false otherwise. 16049 """ 16050 return _lldb.SBWatchpoint_IsWatchingWrites(self) 16051 16052 def __repr__(self): 16053 r"""__repr__(SBWatchpoint self) -> std::string""" 16054 return _lldb.SBWatchpoint___repr__(self) 16055 16056 # operator== is a free function, which swig does not handle, so we inject 16057 # our own equality operator here 16058 def __eq__(self, other): 16059 return not self.__ne__(other) 16060 16061 def __hex__(self): 16062 return self.GetWatchAddress() 16063 16064 def __len__(self): 16065 return self.GetWatchSize() 16066 16067 16068# Register SBWatchpoint in _lldb: 16069_lldb.SBWatchpoint_swigregister(SBWatchpoint) 16070class SBWatchpointOptions(object): 16071 r"""A container for options to use when creating watchpoints.""" 16072 16073 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") 16074 __repr__ = _swig_repr 16075 16076 def __init__(self, *args): 16077 r""" 16078 __init__(SBWatchpointOptions self) -> SBWatchpointOptions 16079 __init__(SBWatchpointOptions self, SBWatchpointOptions rhs) -> SBWatchpointOptions 16080 """ 16081 _lldb.SBWatchpointOptions_swiginit(self, _lldb.new_SBWatchpointOptions(*args)) 16082 __swig_destroy__ = _lldb.delete_SBWatchpointOptions 16083 16084 def SetWatchpointTypeRead(self, read): 16085 r""" 16086 SetWatchpointTypeRead(SBWatchpointOptions self, bool read) 16087 Sets whether the watchpoint should stop on read accesses. 16088 """ 16089 return _lldb.SBWatchpointOptions_SetWatchpointTypeRead(self, read) 16090 16091 def GetWatchpointTypeRead(self): 16092 r""" 16093 GetWatchpointTypeRead(SBWatchpointOptions self) -> bool 16094 Gets whether the watchpoint should stop on read accesses. 16095 """ 16096 return _lldb.SBWatchpointOptions_GetWatchpointTypeRead(self) 16097 16098 def SetWatchpointTypeWrite(self, write_type): 16099 r""" 16100 SetWatchpointTypeWrite(SBWatchpointOptions self, lldb::WatchpointWriteType write_type) 16101 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. 16102 """ 16103 return _lldb.SBWatchpointOptions_SetWatchpointTypeWrite(self, write_type) 16104 16105 def GetWatchpointTypeWrite(self): 16106 r""" 16107 GetWatchpointTypeWrite(SBWatchpointOptions self) -> lldb::WatchpointWriteType 16108 Gets whether the watchpoint should stop on write accesses, returning WatchpointWriteType to indicate the type of write watching that is enabled, or eWatchpointWriteTypeDisabled. 16109 """ 16110 return _lldb.SBWatchpointOptions_GetWatchpointTypeWrite(self) 16111 16112# Register SBWatchpointOptions in _lldb: 16113_lldb.SBWatchpointOptions_swigregister(SBWatchpointOptions) 16114 16115# ================================== 16116# Helper function for SBModule class 16117# ================================== 16118def in_range(symbol, section): 16119 """Test whether a symbol is within the range of a section.""" 16120 symSA = symbol.GetStartAddress().GetFileAddress() 16121 symEA = symbol.GetEndAddress().GetFileAddress() 16122 secSA = section.GetFileAddress() 16123 secEA = secSA + section.GetByteSize() 16124 16125 if symEA != LLDB_INVALID_ADDRESS: 16126 if secSA <= symSA and symEA <= secEA: 16127 return True 16128 else: 16129 return False 16130 else: 16131 if secSA <= symSA and symSA < secEA: 16132 return True 16133 else: 16134 return False 16135 16136 16137 16138def command(command_name=None, doc=None): 16139 import lldb 16140 """A decorator function that registers an LLDB command line 16141 command that is bound to the function it is attached to.""" 16142 def callable(function): 16143 """Registers an lldb command for the decorated function.""" 16144 command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name or function.__name__) 16145 lldb.debugger.HandleCommand(command) 16146 if doc: 16147 function.__doc__ = doc 16148 return function 16149 16150 return callable 16151 16152class declaration(object): 16153 '''A class that represents a source declaration location with file, line and column.''' 16154 def __init__(self, file, line, col): 16155 self.file = file 16156 self.line = line 16157 self.col = col 16158 16159class value_iter(object): 16160 '''Allows iterating over the children of an :py:class:`SBValue`.''' 16161 def __iter__(self): 16162 return self 16163 16164 def __next__(self): 16165 if self.index >= self.length: 16166 raise StopIteration() 16167 child_sbvalue = self.sbvalue.GetChildAtIndex(self.index) 16168 self.index += 1 16169 return value(child_sbvalue) 16170 16171 def next(self): 16172 return self.__next__() 16173 16174 def __eq__(self, other): 16175 return not self.__ne__(other) 16176 16177 def __len__(self): 16178 return self.length 16179 16180 def __init__(self,value): 16181 self.index = 0 16182 self.length = 0 16183 self.sbvalue = value 16184 if type(self.sbvalue) is value: 16185 self.sbvalue = self.sbvalue.sbvalue 16186 self.length = self.sbvalue.GetNumChildren() 16187 16188class value(object): 16189 '''Wraps :py:class:`SBValue` objects so the resulting object can be used as a variable would be in code. 16190 16191 So if you have a Point structure variable in your code in the current frame named "pt", 16192 you can initialize an instance of this class with it: :: 16193 16194 pt = lldb.value(lldb.frame.FindVariable("pt")) 16195 print pt 16196 print pt.x 16197 print pt.y 16198 16199 pt = lldb.value(lldb.frame.FindVariable("rectangle_array")) 16200 print rectangle_array[12] 16201 print rectangle_array[5].origin.x''' 16202 def __init__(self, sbvalue): 16203 self.sbvalue = sbvalue 16204 16205 def __nonzero__(self): 16206 return self.sbvalue.__nonzero__() 16207 16208 def __bool__(self): 16209 return self.sbvalue.__bool__() 16210 16211 def __str__(self): 16212 return self.sbvalue.__str__() 16213 16214 def __getitem__(self, key): 16215# Allow array access if this value has children... 16216 if type(key) is value: 16217 key = int(key) 16218 if type(key) is int: 16219 child_sbvalue = (self.sbvalue.GetValueForExpressionPath("[%i]" % key)) 16220 if child_sbvalue and child_sbvalue.IsValid(): 16221 return value(child_sbvalue) 16222 raise IndexError("Index '%d' is out of range" % key) 16223 raise TypeError("No array item of type %s" % str(type(key))) 16224 16225 def __iter__(self): 16226 return value_iter(self.sbvalue) 16227 16228 def __getattr__(self, name): 16229 child_sbvalue = self.sbvalue.GetChildMemberWithName (name) 16230 if child_sbvalue and child_sbvalue.IsValid(): 16231 return value(child_sbvalue) 16232 raise AttributeError("Attribute '%s' is not defined" % name) 16233 16234 def __add__(self, other): 16235 return int(self) + int(other) 16236 16237 def __sub__(self, other): 16238 return int(self) - int(other) 16239 16240 def __mul__(self, other): 16241 return int(self) * int(other) 16242 16243 def __floordiv__(self, other): 16244 return int(self) // int(other) 16245 16246 def __mod__(self, other): 16247 return int(self) % int(other) 16248 16249 def __divmod__(self, other): 16250 return int(self) % int(other) 16251 16252 def __pow__(self, other): 16253 return int(self) ** int(other) 16254 16255 def __lshift__(self, other): 16256 return int(self) << int(other) 16257 16258 def __rshift__(self, other): 16259 return int(self) >> int(other) 16260 16261 def __and__(self, other): 16262 return int(self) & int(other) 16263 16264 def __xor__(self, other): 16265 return int(self) ^ int(other) 16266 16267 def __or__(self, other): 16268 return int(self) | int(other) 16269 16270 def __div__(self, other): 16271 return int(self) / int(other) 16272 16273 def __truediv__(self, other): 16274 return int(self) / int(other) 16275 16276 def __iadd__(self, other): 16277 result = self.__add__(other) 16278 self.sbvalue.SetValueFromCString (str(result)) 16279 return result 16280 16281 def __isub__(self, other): 16282 result = self.__sub__(other) 16283 self.sbvalue.SetValueFromCString (str(result)) 16284 return result 16285 16286 def __imul__(self, other): 16287 result = self.__mul__(other) 16288 self.sbvalue.SetValueFromCString (str(result)) 16289 return result 16290 16291 def __idiv__(self, other): 16292 result = self.__div__(other) 16293 self.sbvalue.SetValueFromCString (str(result)) 16294 return result 16295 16296 def __itruediv__(self, other): 16297 result = self.__truediv__(other) 16298 self.sbvalue.SetValueFromCString (str(result)) 16299 return result 16300 16301 def __ifloordiv__(self, other): 16302 result = self.__floordiv__(self, other) 16303 self.sbvalue.SetValueFromCString (str(result)) 16304 return result 16305 16306 def __imod__(self, other): 16307 result = self.__and__(self, other) 16308 self.sbvalue.SetValueFromCString (str(result)) 16309 return result 16310 16311 def __ipow__(self, other): 16312 result = self.__pow__(self, other) 16313 self.sbvalue.SetValueFromCString (str(result)) 16314 return result 16315 16316 def __ipow__(self, other, modulo): 16317 result = self.__pow__(self, other, modulo) 16318 self.sbvalue.SetValueFromCString (str(result)) 16319 return result 16320 16321 def __ilshift__(self, other): 16322 result = self.__lshift__(other) 16323 self.sbvalue.SetValueFromCString (str(result)) 16324 return result 16325 16326 def __irshift__(self, other): 16327 result = self.__rshift__(other) 16328 self.sbvalue.SetValueFromCString (str(result)) 16329 return result 16330 16331 def __iand__(self, other): 16332 result = self.__and__(self, other) 16333 self.sbvalue.SetValueFromCString (str(result)) 16334 return result 16335 16336 def __ixor__(self, other): 16337 result = self.__xor__(self, other) 16338 self.sbvalue.SetValueFromCString (str(result)) 16339 return result 16340 16341 def __ior__(self, other): 16342 result = self.__ior__(self, other) 16343 self.sbvalue.SetValueFromCString (str(result)) 16344 return result 16345 16346 def __neg__(self): 16347 return -int(self) 16348 16349 def __pos__(self): 16350 return +int(self) 16351 16352 def __abs__(self): 16353 return abs(int(self)) 16354 16355 def __invert__(self): 16356 return ~int(self) 16357 16358 def __complex__(self): 16359 return complex (int(self)) 16360 16361 def __int__(self): 16362 is_num,is_sign = is_numeric_type(self.sbvalue.GetType().GetCanonicalType().GetBasicType()) 16363 if is_num and not is_sign: return self.sbvalue.GetValueAsUnsigned() 16364 return self.sbvalue.GetValueAsSigned() 16365 16366 def __long__(self): 16367 return self.__int__() 16368 16369 def __float__(self): 16370 return float (self.sbvalue.GetValueAsSigned()) 16371 16372 def __oct__(self): 16373 return '0%o' % self.sbvalue.GetValueAsUnsigned() 16374 16375 def __hex__(self): 16376 return '0x%x' % self.sbvalue.GetValueAsUnsigned() 16377 16378 def __len__(self): 16379 return self.sbvalue.GetNumChildren() 16380 16381 def __eq__(self, other): 16382 if type(other) is int: 16383 return int(self) == other 16384 elif type(other) is str: 16385 return str(self) == other 16386 elif type(other) is value: 16387 self_err = SBError() 16388 other_err = SBError() 16389 self_val = self.sbvalue.GetValueAsUnsigned(self_err) 16390 if self_err.fail: 16391 raise ValueError("unable to extract value of self") 16392 other_val = other.sbvalue.GetValueAsUnsigned(other_err) 16393 if other_err.fail: 16394 raise ValueError("unable to extract value of other") 16395 return self_val == other_val 16396 raise TypeError("Unknown type %s, No equality operation defined." % str(type(other))) 16397 16398 def __ne__(self, other): 16399 return not self.__eq__(other) 16400 16401 16402 16403class SBSyntheticValueProvider(object): 16404 def __init__(self,valobj): 16405 pass 16406 16407 def num_children(self): 16408 return 0 16409 16410 def get_child_index(self,name): 16411 return None 16412 16413 def get_child_at_index(self,idx): 16414 return None 16415 16416 def update(self): 16417 pass 16418 16419 def has_children(self): 16420 return False 16421 16422 def __len__(self): 16423 return self.num_children() 16424 16425 def __iter__(self): 16426 '''Iterate over all children in a lldb.SBSyntheticValueProvider object.''' 16427 return lldb_iter(self, 'num_children', 'get_child_at_index') 16428 16429 16430 16431 16432# given an lldb.SBBasicType it returns a tuple 16433# (is_numeric, is_signed) 16434# the value of is_signed is undefined if is_numeric == false 16435def is_numeric_type(basic_type): 16436 if basic_type == eBasicTypeInvalid: return (False,False) 16437 if basic_type == eBasicTypeVoid: return (False,False) 16438 if basic_type == eBasicTypeChar: return (True,False) 16439 if basic_type == eBasicTypeSignedChar: return (True,True) 16440 if basic_type == eBasicTypeUnsignedChar: return (True,False) 16441 if basic_type == eBasicTypeWChar: return (True,False) 16442 if basic_type == eBasicTypeSignedWChar: return (True,True) 16443 if basic_type == eBasicTypeUnsignedWChar: return (True,False) 16444 if basic_type == eBasicTypeChar16: return (True,False) 16445 if basic_type == eBasicTypeChar32: return (True,False) 16446 if basic_type == eBasicTypeChar8: return (True,False) 16447 if basic_type == eBasicTypeShort: return (True,True) 16448 if basic_type == eBasicTypeUnsignedShort: return (True,False) 16449 if basic_type == eBasicTypeInt: return (True,True) 16450 if basic_type == eBasicTypeUnsignedInt: return (True,False) 16451 if basic_type == eBasicTypeLong: return (True,True) 16452 if basic_type == eBasicTypeUnsignedLong: return (True,False) 16453 if basic_type == eBasicTypeLongLong: return (True,True) 16454 if basic_type == eBasicTypeUnsignedLongLong: return (True,False) 16455 if basic_type == eBasicTypeInt128: return (True,True) 16456 if basic_type == eBasicTypeUnsignedInt128: return (True,False) 16457 if basic_type == eBasicTypeBool: return (False,False) 16458 if basic_type == eBasicTypeHalf: return (True,True) 16459 if basic_type == eBasicTypeFloat: return (True,True) 16460 if basic_type == eBasicTypeDouble: return (True,True) 16461 if basic_type == eBasicTypeLongDouble: return (True,True) 16462 if basic_type == eBasicTypeFloatComplex: return (True,True) 16463 if basic_type == eBasicTypeDoubleComplex: return (True,True) 16464 if basic_type == eBasicTypeLongDoubleComplex: return (True,True) 16465 if basic_type == eBasicTypeObjCID: return (False,False) 16466 if basic_type == eBasicTypeObjCClass: return (False,False) 16467 if basic_type == eBasicTypeObjCSel: return (False,False) 16468 if basic_type == eBasicTypeNullPtr: return (False,False) 16469#if basic_type == eBasicTypeOther: 16470 return (False,False) 16471 16472 16473 16474debugger_unique_id = 0 16475SBDebugger.Initialize() 16476debugger = None 16477target = None 16478process = None 16479thread = None 16480frame = None 16481 16482 16483