SBTarget.i revision 5978746d34abc32bc4b0ee6236995942150aebf1
1//===-- SWIG Interface for SBTarget -----------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10namespace lldb { 11 12class SBLaunchInfo 13{ 14public: 15 SBLaunchInfo (const char **argv); 16 17 uint32_t 18 GetUserID(); 19 20 uint32_t 21 GetGroupID(); 22 23 bool 24 UserIDIsValid (); 25 26 bool 27 GroupIDIsValid (); 28 29 void 30 SetUserID (uint32_t uid); 31 32 void 33 SetGroupID (uint32_t gid); 34 35 uint32_t 36 GetNumArguments (); 37 38 const char * 39 GetArgumentAtIndex (uint32_t idx); 40 41 void 42 SetArguments (const char **argv, bool append); 43 44 uint32_t 45 GetNumEnvironmentEntries (); 46 47 const char * 48 GetEnvironmentEntryAtIndex (uint32_t idx); 49 50 void 51 SetEnvironmentEntries (const char **envp, bool append); 52 53 void 54 Clear (); 55 56 const char * 57 GetWorkingDirectory () const; 58 59 void 60 SetWorkingDirectory (const char *working_dir); 61 62 uint32_t 63 GetLaunchFlags (); 64 65 void 66 SetLaunchFlags (uint32_t flags); 67 68 const char * 69 GetProcessPluginName (); 70 71 void 72 SetProcessPluginName (const char *plugin_name); 73 74 const char * 75 GetShell (); 76 77 void 78 SetShell (const char * path); 79 80 uint32_t 81 GetResumeCount (); 82 83 void 84 SetResumeCount (uint32_t c); 85 86 bool 87 AddCloseFileAction (int fd); 88 89 bool 90 AddDuplicateFileAction (int fd, int dup_fd); 91 92 bool 93 AddOpenFileAction (int fd, const char *path, bool read, bool write); 94 95 bool 96 AddSuppressFileAction (int fd, bool read, bool write); 97}; 98 99class SBAttachInfo 100{ 101public: 102 SBAttachInfo (); 103 104 SBAttachInfo (lldb::pid_t pid); 105 106 SBAttachInfo (const char *path, bool wait_for); 107 108 SBAttachInfo (const lldb::SBAttachInfo &rhs); 109 110 lldb::pid_t 111 GetProcessID (); 112 113 void 114 SetProcessID (lldb::pid_t pid); 115 116 void 117 SetExecutable (const char *path); 118 119 void 120 SetExecutable (lldb::SBFileSpec exe_file); 121 122 bool 123 GetWaitForLaunch (); 124 125 void 126 SetWaitForLaunch (bool b); 127 128 bool 129 GetIgnoreExisting (); 130 131 void 132 SetIgnoreExisting (bool b); 133 134 uint32_t 135 GetResumeCount (); 136 137 void 138 SetResumeCount (uint32_t c); 139 140 const char * 141 GetProcessPluginName (); 142 143 void 144 SetProcessPluginName (const char *plugin_name); 145 146 uint32_t 147 GetUserID(); 148 149 uint32_t 150 GetGroupID(); 151 152 bool 153 UserIDIsValid (); 154 155 bool 156 GroupIDIsValid (); 157 158 void 159 SetUserID (uint32_t uid); 160 161 void 162 SetGroupID (uint32_t gid); 163 164 uint32_t 165 GetEffectiveUserID(); 166 167 uint32_t 168 GetEffectiveGroupID(); 169 170 bool 171 EffectiveUserIDIsValid (); 172 173 bool 174 EffectiveGroupIDIsValid (); 175 176 void 177 SetEffectiveUserID (uint32_t uid); 178 179 void 180 SetEffectiveGroupID (uint32_t gid); 181 182 lldb::pid_t 183 GetParentProcessID (); 184 185 void 186 SetParentProcessID (lldb::pid_t pid); 187 188 bool 189 ParentProcessIDIsValid(); 190}; 191 192 193%feature("docstring", 194"Represents the target program running under the debugger. 195 196SBTarget supports module, breakpoint, and watchpoint iterations. For example, 197 198 for m in target.module_iter(): 199 print m 200 201produces: 202 203(x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out 204(x86_64) /usr/lib/dyld 205(x86_64) /usr/lib/libstdc++.6.dylib 206(x86_64) /usr/lib/libSystem.B.dylib 207(x86_64) /usr/lib/system/libmathCommon.A.dylib 208(x86_64) /usr/lib/libSystem.B.dylib(__commpage) 209 210and, 211 212 for b in target.breakpoint_iter(): 213 print b 214 215produces: 216 217SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1 218SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1 219 220and, 221 222 for wp_loc in target.watchpoint_iter(): 223 print wp_loc 224 225produces: 226 227Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw 228 declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12' 229 hw_index = 0 hit_count = 2 ignore_count = 0" 230) SBTarget; 231class SBTarget 232{ 233public: 234 //------------------------------------------------------------------ 235 // Broadcaster bits. 236 //------------------------------------------------------------------ 237 enum 238 { 239 eBroadcastBitBreakpointChanged = (1 << 0), 240 eBroadcastBitModulesLoaded = (1 << 1), 241 eBroadcastBitModulesUnloaded = (1 << 2), 242 eBroadcastBitWatchpointChanged = (1 << 3) 243 }; 244 245 //------------------------------------------------------------------ 246 // Constructors 247 //------------------------------------------------------------------ 248 SBTarget (); 249 250 SBTarget (const lldb::SBTarget& rhs); 251 252 //------------------------------------------------------------------ 253 // Destructor 254 //------------------------------------------------------------------ 255 ~SBTarget(); 256 257 static const char * 258 GetBroadcasterClassName (); 259 260 bool 261 IsValid() const; 262 263 lldb::SBProcess 264 GetProcess (); 265 266 %feature("docstring", " 267 //------------------------------------------------------------------ 268 /// Launch a new process. 269 /// 270 /// Launch a new process by spawning a new process using the 271 /// target object's executable module's file as the file to launch. 272 /// Arguments are given in \a argv, and the environment variables 273 /// are in \a envp. Standard input and output files can be 274 /// optionally re-directed to \a stdin_path, \a stdout_path, and 275 /// \a stderr_path. 276 /// 277 /// @param[in] listener 278 /// An optional listener that will receive all process events. 279 /// If \a listener is valid then \a listener will listen to all 280 /// process events. If not valid, then this target's debugger 281 /// (SBTarget::GetDebugger()) will listen to all process events. 282 /// 283 /// @param[in] argv 284 /// The argument array. 285 /// 286 /// @param[in] envp 287 /// The environment array. 288 /// 289 /// @param[in] launch_flags 290 /// Flags to modify the launch (@see lldb::LaunchFlags) 291 /// 292 /// @param[in] stdin_path 293 /// The path to use when re-directing the STDIN of the new 294 /// process. If all stdXX_path arguments are NULL, a pseudo 295 /// terminal will be used. 296 /// 297 /// @param[in] stdout_path 298 /// The path to use when re-directing the STDOUT of the new 299 /// process. If all stdXX_path arguments are NULL, a pseudo 300 /// terminal will be used. 301 /// 302 /// @param[in] stderr_path 303 /// The path to use when re-directing the STDERR of the new 304 /// process. If all stdXX_path arguments are NULL, a pseudo 305 /// terminal will be used. 306 /// 307 /// @param[in] working_directory 308 /// The working directory to have the child process run in 309 /// 310 /// @param[in] launch_flags 311 /// Some launch options specified by logical OR'ing 312 /// lldb::LaunchFlags enumeration values together. 313 /// 314 /// @param[in] stop_at_endtry 315 /// If false do not stop the inferior at the entry point. 316 /// 317 /// @param[out] 318 /// An error object. Contains the reason if there is some failure. 319 /// 320 /// @return 321 /// A process object for the newly created process. 322 //------------------------------------------------------------------ 323 324 For example, 325 326 process = target.Launch(self.dbg.GetListener(), None, None, 327 None, '/tmp/stdout.txt', None, 328 None, 0, False, error) 329 330 launches a new process by passing nothing for both the args and the envs 331 and redirect the standard output of the inferior to the /tmp/stdout.txt 332 file. It does not specify a working directory so that the debug server 333 will use its idea of what the current working directory is for the 334 inferior. Also, we ask the debugger not to stop the inferior at the 335 entry point. If no breakpoint is specified for the inferior, it should 336 run to completion if no user interaction is required. 337 ") Launch; 338 lldb::SBProcess 339 Launch (SBListener &listener, 340 char const **argv, 341 char const **envp, 342 const char *stdin_path, 343 const char *stdout_path, 344 const char *stderr_path, 345 const char *working_directory, 346 uint32_t launch_flags, // See LaunchFlags 347 bool stop_at_entry, 348 lldb::SBError& error); 349 350 %feature("docstring", " 351 //------------------------------------------------------------------ 352 /// Launch a new process with sensible defaults. 353 /// 354 /// @param[in] argv 355 /// The argument array. 356 /// 357 /// @param[in] envp 358 /// The environment array. 359 /// 360 /// @param[in] working_directory 361 /// The working directory to have the child process run in 362 /// 363 /// Default: listener 364 /// Set to the target's debugger (SBTarget::GetDebugger()) 365 /// 366 /// Default: launch_flags 367 /// Empty launch flags 368 /// 369 /// Default: stdin_path 370 /// Default: stdout_path 371 /// Default: stderr_path 372 /// A pseudo terminal will be used. 373 /// 374 /// @return 375 /// A process object for the newly created process. 376 //------------------------------------------------------------------ 377 378 For example, 379 380 process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd()) 381 382 launches a new process by passing 'X', 'Y', 'Z' as the args to the 383 executable. 384 ") LaunchSimple; 385 lldb::SBProcess 386 LaunchSimple (const char **argv, 387 const char **envp, 388 const char *working_directory); 389 390 lldb::SBProcess 391 Launch (lldb::SBLaunchInfo &launch_info, lldb::SBError& error); 392 393 lldb::SBProcess 394 Attach (lldb::SBAttachInfo &attach_info, lldb::SBError& error); 395 396 397 %feature("docstring", " 398 //------------------------------------------------------------------ 399 /// Attach to process with pid. 400 /// 401 /// @param[in] listener 402 /// An optional listener that will receive all process events. 403 /// If \a listener is valid then \a listener will listen to all 404 /// process events. If not valid, then this target's debugger 405 /// (SBTarget::GetDebugger()) will listen to all process events. 406 /// 407 /// @param[in] pid 408 /// The process ID to attach to. 409 /// 410 /// @param[out] 411 /// An error explaining what went wrong if attach fails. 412 /// 413 /// @return 414 /// A process object for the attached process. 415 //------------------------------------------------------------------ 416 ") AttachToProcessWithID; 417 lldb::SBProcess 418 AttachToProcessWithID (SBListener &listener, 419 lldb::pid_t pid, 420 lldb::SBError& error); 421 422 %feature("docstring", " 423 //------------------------------------------------------------------ 424 /// Attach to process with name. 425 /// 426 /// @param[in] listener 427 /// An optional listener that will receive all process events. 428 /// If \a listener is valid then \a listener will listen to all 429 /// process events. If not valid, then this target's debugger 430 /// (SBTarget::GetDebugger()) will listen to all process events. 431 /// 432 /// @param[in] name 433 /// Basename of process to attach to. 434 /// 435 /// @param[in] wait_for 436 /// If true wait for a new instance of 'name' to be launched. 437 /// 438 /// @param[out] 439 /// An error explaining what went wrong if attach fails. 440 /// 441 /// @return 442 /// A process object for the attached process. 443 //------------------------------------------------------------------ 444 ") AttachToProcessWithName; 445 lldb::SBProcess 446 AttachToProcessWithName (SBListener &listener, 447 const char *name, 448 bool wait_for, 449 lldb::SBError& error); 450 451 %feature("docstring", " 452 //------------------------------------------------------------------ 453 /// Connect to a remote debug server with url. 454 /// 455 /// @param[in] listener 456 /// An optional listener that will receive all process events. 457 /// If \a listener is valid then \a listener will listen to all 458 /// process events. If not valid, then this target's debugger 459 /// (SBTarget::GetDebugger()) will listen to all process events. 460 /// 461 /// @param[in] url 462 /// The url to connect to, e.g., 'connect://localhost:12345'. 463 /// 464 /// @param[in] plugin_name 465 /// The plugin name to be used; can be NULL. 466 /// 467 /// @param[out] 468 /// An error explaining what went wrong if the connect fails. 469 /// 470 /// @return 471 /// A process object for the connected process. 472 //------------------------------------------------------------------ 473 ") ConnectRemote; 474 lldb::SBProcess 475 ConnectRemote (SBListener &listener, 476 const char *url, 477 const char *plugin_name, 478 SBError& error); 479 480 lldb::SBFileSpec 481 GetExecutable (); 482 483 bool 484 AddModule (lldb::SBModule &module); 485 486 lldb::SBModule 487 AddModule (const char *path, 488 const char *triple, 489 const char *uuid); 490 491 lldb::SBModule 492 AddModule (const char *path, 493 const char *triple, 494 const char *uuid_cstr, 495 const char *symfile); 496 497 uint32_t 498 GetNumModules () const; 499 500 lldb::SBModule 501 GetModuleAtIndex (uint32_t idx); 502 503 bool 504 RemoveModule (lldb::SBModule module); 505 506 lldb::SBDebugger 507 GetDebugger() const; 508 509 lldb::SBModule 510 FindModule (const lldb::SBFileSpec &file_spec); 511 512 lldb::ByteOrder 513 GetByteOrder (); 514 515 uint32_t 516 GetAddressByteSize(); 517 518 const char * 519 GetTriple (); 520 521 lldb::SBError 522 SetSectionLoadAddress (lldb::SBSection section, 523 lldb::addr_t section_base_addr); 524 525 lldb::SBError 526 ClearSectionLoadAddress (lldb::SBSection section); 527 528 lldb::SBError 529 SetModuleLoadAddress (lldb::SBModule module, 530 int64_t sections_offset); 531 532 lldb::SBError 533 ClearModuleLoadAddress (lldb::SBModule module); 534 535 %feature("docstring", " 536 //------------------------------------------------------------------ 537 /// Find functions by name. 538 /// 539 /// @param[in] name 540 /// The name of the function we are looking for. 541 /// 542 /// @param[in] name_type_mask 543 /// A logical OR of one or more FunctionNameType enum bits that 544 /// indicate what kind of names should be used when doing the 545 /// lookup. Bits include fully qualified names, base names, 546 /// C++ methods, or ObjC selectors. 547 /// See FunctionNameType for more details. 548 /// 549 /// @return 550 /// A lldb::SBSymbolContextList that gets filled in with all of 551 /// the symbol contexts for all the matches. 552 //------------------------------------------------------------------ 553 ") FindFunctions; 554 lldb::SBSymbolContextList 555 FindFunctions (const char *name, 556 uint32_t name_type_mask = lldb::eFunctionNameTypeAny); 557 558 lldb::SBType 559 FindFirstType (const char* type); 560 561 lldb::SBTypeList 562 FindTypes (const char* type); 563 564 lldb::SBType 565 GetBasicType(lldb::BasicType type); 566 567 lldb::SBSourceManager 568 GetSourceManager (); 569 570 %feature("docstring", " 571 //------------------------------------------------------------------ 572 /// Find global and static variables by name. 573 /// 574 /// @param[in] name 575 /// The name of the global or static variable we are looking 576 /// for. 577 /// 578 /// @param[in] max_matches 579 /// Allow the number of matches to be limited to \a max_matches. 580 /// 581 /// @return 582 /// A list of matched variables in an SBValueList. 583 //------------------------------------------------------------------ 584 ") FindGlobalVariables; 585 lldb::SBValueList 586 FindGlobalVariables (const char *name, 587 uint32_t max_matches); 588 589 %feature("docstring", " 590 //------------------------------------------------------------------ 591 /// Find the first global (or static) variable by name. 592 /// 593 /// @param[in] name 594 /// The name of the global or static variable we are looking 595 /// for. 596 /// 597 /// @return 598 /// An SBValue that gets filled in with the found variable (if any). 599 //------------------------------------------------------------------ 600 ") FindFirstGlobalVariable; 601 lldb::SBValue 602 FindFirstGlobalVariable (const char* name); 603 604 void 605 Clear (); 606 607 lldb::SBAddress 608 ResolveLoadAddress (lldb::addr_t vm_addr); 609 610 SBSymbolContext 611 ResolveSymbolContextForAddress (const SBAddress& addr, 612 uint32_t resolve_scope); 613 614 lldb::SBBreakpoint 615 BreakpointCreateByLocation (const char *file, uint32_t line); 616 617 lldb::SBBreakpoint 618 BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line); 619 620 lldb::SBBreakpoint 621 BreakpointCreateByName (const char *symbol_name, const char *module_name = NULL); 622 623 lldb::SBBreakpoint 624 BreakpointCreateByName (const char *symbol_name, 625 uint32_t func_name_type, // Logical OR one or more FunctionNameType enum bits 626 const SBFileSpecList &module_list, 627 const SBFileSpecList &comp_unit_list); 628 629 lldb::SBBreakpoint 630 BreakpointCreateByNames (const char *symbol_name[], 631 uint32_t num_names, 632 uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits 633 const SBFileSpecList &module_list, 634 const SBFileSpecList &comp_unit_list); 635 636 lldb::SBBreakpoint 637 BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name = NULL); 638 639 lldb::SBBreakpoint 640 BreakpointCreateBySourceRegex (const char *source_regex, const lldb::SBFileSpec &source_file, const char *module_name = NULL); 641 642 lldb::SBBreakpoint 643 BreakpointCreateForException (lldb::LanguageType language, 644 bool catch_bp, 645 bool throw_bp); 646 647 lldb::SBBreakpoint 648 BreakpointCreateByAddress (addr_t address); 649 650 uint32_t 651 GetNumBreakpoints () const; 652 653 lldb::SBBreakpoint 654 GetBreakpointAtIndex (uint32_t idx) const; 655 656 bool 657 BreakpointDelete (break_id_t break_id); 658 659 lldb::SBBreakpoint 660 FindBreakpointByID (break_id_t break_id); 661 662 bool 663 EnableAllBreakpoints (); 664 665 bool 666 DisableAllBreakpoints (); 667 668 bool 669 DeleteAllBreakpoints (); 670 671 uint32_t 672 GetNumWatchpoints () const; 673 674 lldb::SBWatchpoint 675 GetWatchpointAtIndex (uint32_t idx) const; 676 677 bool 678 DeleteWatchpoint (lldb::watch_id_t watch_id); 679 680 lldb::SBWatchpoint 681 FindWatchpointByID (lldb::watch_id_t watch_id); 682 683 bool 684 EnableAllWatchpoints (); 685 686 bool 687 DisableAllWatchpoints (); 688 689 bool 690 DeleteAllWatchpoints (); 691 692 lldb::SBWatchpoint 693 WatchAddress (lldb::addr_t addr, 694 size_t size, 695 bool read, 696 bool write, 697 SBError &error); 698 699 700 lldb::SBBroadcaster 701 GetBroadcaster () const; 702 703 lldb::SBInstructionList 704 ReadInstructions (lldb::SBAddress base_addr, uint32_t count); 705 706 lldb::SBInstructionList 707 ReadInstructions (lldb::SBAddress base_addr, uint32_t count, const char *flavor_string); 708 709 lldb::SBInstructionList 710 GetInstructions (lldb::SBAddress base_addr, const void *buf, size_t size); 711 712 lldb::SBInstructionList 713 GetInstructionsWithFlavor (lldb::SBAddress base_addr, const char *flavor_string, const void *buf, size_t size); 714 715 lldb::SBSymbolContextList 716 FindSymbols (const char *name, lldb::SymbolType type = eSymbolTypeAny); 717 718 bool 719 GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level); 720 721 lldb::addr_t 722 GetStackRedZoneSize(); 723 724 lldb::SBValue 725 EvaluateExpression (const char *expr, const lldb::SBExpressionOptions &options); 726 %pythoncode %{ 727 class modules_access(object): 728 '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.''' 729 def __init__(self, sbtarget): 730 self.sbtarget = sbtarget 731 732 def __len__(self): 733 if self.sbtarget: 734 return int(self.sbtarget.GetNumModules()) 735 return 0 736 737 def __getitem__(self, key): 738 num_modules = self.sbtarget.GetNumModules() 739 if type(key) is int: 740 if key < num_modules: 741 return self.sbtarget.GetModuleAtIndex(key) 742 elif type(key) is str: 743 if key.find('/') == -1: 744 for idx in range(num_modules): 745 module = self.sbtarget.GetModuleAtIndex(idx) 746 if module.file.basename == key: 747 return module 748 else: 749 for idx in range(num_modules): 750 module = self.sbtarget.GetModuleAtIndex(idx) 751 if module.file.fullpath == key: 752 return module 753 # See if the string is a UUID 754 try: 755 the_uuid = uuid.UUID(key) 756 if the_uuid: 757 for idx in range(num_modules): 758 module = self.sbtarget.GetModuleAtIndex(idx) 759 if module.uuid == the_uuid: 760 return module 761 except: 762 return None 763 elif type(key) is uuid.UUID: 764 for idx in range(num_modules): 765 module = self.sbtarget.GetModuleAtIndex(idx) 766 if module.uuid == key: 767 return module 768 elif type(key) is re.SRE_Pattern: 769 matching_modules = [] 770 for idx in range(num_modules): 771 module = self.sbtarget.GetModuleAtIndex(idx) 772 re_match = key.search(module.path.fullpath) 773 if re_match: 774 matching_modules.append(module) 775 return matching_modules 776 else: 777 print "error: unsupported item type: %s" % type(key) 778 return None 779 780 def get_modules_access_object(self): 781 '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.''' 782 return self.modules_access (self) 783 784 def get_modules_array(self): 785 '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.''' 786 modules = [] 787 for idx in range(self.GetNumModules()): 788 modules.append(self.GetModuleAtIndex(idx)) 789 return modules 790 791 __swig_getmethods__["modules"] = get_modules_array 792 if _newclass: 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).''') 793 794 __swig_getmethods__["module"] = get_modules_access_object 795 if _newclass: 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.''') 796 797 __swig_getmethods__["process"] = GetProcess 798 if _newclass: process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''') 799 800 __swig_getmethods__["executable"] = GetExecutable 801 if _newclass: 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.''') 802 803 __swig_getmethods__["debugger"] = GetDebugger 804 if _newclass: debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''') 805 806 __swig_getmethods__["num_breakpoints"] = GetNumBreakpoints 807 if _newclass: num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''') 808 809 __swig_getmethods__["num_watchpoints"] = GetNumWatchpoints 810 if _newclass: num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''') 811 812 __swig_getmethods__["broadcaster"] = GetBroadcaster 813 if _newclass: broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''') 814 815 __swig_getmethods__["byte_order"] = GetByteOrder 816 if _newclass: 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.''') 817 818 __swig_getmethods__["addr_size"] = GetAddressByteSize 819 if _newclass: addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''') 820 821 __swig_getmethods__["triple"] = GetTriple 822 if _newclass: triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''') 823 %} 824 825}; 826 827} // namespace lldb 828