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 
10 namespace lldb {
11 
12 class SBLaunchInfo
13 {
14 public:
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 
99 class SBAttachInfo
100 {
101 public:
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 
196 SBTarget supports module, breakpoint, and watchpoint iterations. For example,
197 
198     for m in target.module_iter():
199         print m
200 
201 produces:
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 
210 and,
211 
212     for b in target.breakpoint_iter():
213         print b
214 
215 produces:
216 
217 SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1
218 SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1
219 
220 and,
221 
222     for wp_loc in target.watchpoint_iter():
223         print wp_loc
224 
225 produces:
226 
227 Watchpoint 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;
231 class SBTarget
232 {
233 public:
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         eBroadcastBitSymbolsLoaded      = (1 << 4)
244     };
245 
246     //------------------------------------------------------------------
247     // Constructors
248     //------------------------------------------------------------------
249     SBTarget ();
250 
251     SBTarget (const lldb::SBTarget& rhs);
252 
253     //------------------------------------------------------------------
254     // Destructor
255     //------------------------------------------------------------------
256     ~SBTarget();
257 
258     static const char *
259     GetBroadcasterClassName ();
260 
261     bool
262     IsValid() const;
263 
264     lldb::SBProcess
265     GetProcess ();
266 
267     %feature("docstring", "
268     //------------------------------------------------------------------
269     /// Launch a new process.
270     ///
271     /// Launch a new process by spawning a new process using the
272     /// target object's executable module's file as the file to launch.
273     /// Arguments are given in \a argv, and the environment variables
274     /// are in \a envp. Standard input and output files can be
275     /// optionally re-directed to \a stdin_path, \a stdout_path, and
276     /// \a stderr_path.
277     ///
278     /// @param[in] listener
279     ///     An optional listener that will receive all process events.
280     ///     If \a listener is valid then \a listener will listen to all
281     ///     process events. If not valid, then this target's debugger
282     ///     (SBTarget::GetDebugger()) will listen to all process events.
283     ///
284     /// @param[in] argv
285     ///     The argument array.
286     ///
287     /// @param[in] envp
288     ///     The environment array.
289     ///
290     /// @param[in] launch_flags
291     ///     Flags to modify the launch (@see lldb::LaunchFlags)
292     ///
293     /// @param[in] stdin_path
294     ///     The path to use when re-directing the STDIN of the new
295     ///     process. If all stdXX_path arguments are NULL, a pseudo
296     ///     terminal will be used.
297     ///
298     /// @param[in] stdout_path
299     ///     The path to use when re-directing the STDOUT of the new
300     ///     process. If all stdXX_path arguments are NULL, a pseudo
301     ///     terminal will be used.
302     ///
303     /// @param[in] stderr_path
304     ///     The path to use when re-directing the STDERR of the new
305     ///     process. If all stdXX_path arguments are NULL, a pseudo
306     ///     terminal will be used.
307     ///
308     /// @param[in] working_directory
309     ///     The working directory to have the child process run in
310     ///
311     /// @param[in] launch_flags
312     ///     Some launch options specified by logical OR'ing
313     ///     lldb::LaunchFlags enumeration values together.
314     ///
315     /// @param[in] stop_at_endtry
316     ///     If false do not stop the inferior at the entry point.
317     ///
318     /// @param[out]
319     ///     An error object. Contains the reason if there is some failure.
320     ///
321     /// @return
322     ///      A process object for the newly created process.
323     //------------------------------------------------------------------
324 
325     For example,
326 
327         process = target.Launch(self.dbg.GetListener(), None, None,
328                                 None, '/tmp/stdout.txt', None,
329                                 None, 0, False, error)
330 
331     launches a new process by passing nothing for both the args and the envs
332     and redirect the standard output of the inferior to the /tmp/stdout.txt
333     file. It does not specify a working directory so that the debug server
334     will use its idea of what the current working directory is for the
335     inferior. Also, we ask the debugger not to stop the inferior at the
336     entry point. If no breakpoint is specified for the inferior, it should
337     run to completion if no user interaction is required.
338     ") Launch;
339     lldb::SBProcess
340     Launch (SBListener &listener,
341             char const **argv,
342             char const **envp,
343             const char *stdin_path,
344             const char *stdout_path,
345             const char *stderr_path,
346             const char *working_directory,
347             uint32_t launch_flags,   // See LaunchFlags
348             bool stop_at_entry,
349             lldb::SBError& error);
350 
351     %feature("docstring", "
352     //------------------------------------------------------------------
353     /// Launch a new process with sensible defaults.
354     ///
355     /// @param[in] argv
356     ///     The argument array.
357     ///
358     /// @param[in] envp
359     ///     The environment array.
360     ///
361     /// @param[in] working_directory
362     ///     The working directory to have the child process run in
363     ///
364     /// Default: listener
365     ///     Set to the target's debugger (SBTarget::GetDebugger())
366     ///
367     /// Default: launch_flags
368     ///     Empty launch flags
369     ///
370     /// Default: stdin_path
371     /// Default: stdout_path
372     /// Default: stderr_path
373     ///     A pseudo terminal will be used.
374     ///
375     /// @return
376     ///      A process object for the newly created process.
377     //------------------------------------------------------------------
378 
379     For example,
380 
381         process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd())
382 
383     launches a new process by passing 'X', 'Y', 'Z' as the args to the
384     executable.
385     ") LaunchSimple;
386     lldb::SBProcess
387     LaunchSimple (const char **argv,
388                   const char **envp,
389                   const char *working_directory);
390 
391     lldb::SBProcess
392     Launch (lldb::SBLaunchInfo &launch_info, lldb::SBError& error);
393 
394     %feature("docstring", "
395     //------------------------------------------------------------------
396     /// Load a core file
397     ///
398     /// @param[in] core_file
399     ///     File path of the core dump.
400     ///
401     /// @return
402     ///      A process object for the newly created core file.
403     //------------------------------------------------------------------
404 
405     For example,
406 
407         process = target.LoadCore('./a.out.core')
408 
409     loads a new core file and returns the process object.
410     ") LoadCore;
411     lldb::SBProcess
412     LoadCore(const char *core_file);
413 
414     lldb::SBProcess
415     Attach (lldb::SBAttachInfo &attach_info, lldb::SBError& error);
416 
417 
418     %feature("docstring", "
419     //------------------------------------------------------------------
420     /// Attach to process with pid.
421     ///
422     /// @param[in] listener
423     ///     An optional listener that will receive all process events.
424     ///     If \a listener is valid then \a listener will listen to all
425     ///     process events. If not valid, then this target's debugger
426     ///     (SBTarget::GetDebugger()) will listen to all process events.
427     ///
428     /// @param[in] pid
429     ///     The process ID to attach to.
430     ///
431     /// @param[out]
432     ///     An error explaining what went wrong if attach fails.
433     ///
434     /// @return
435     ///      A process object for the attached process.
436     //------------------------------------------------------------------
437     ") AttachToProcessWithID;
438     lldb::SBProcess
439     AttachToProcessWithID (SBListener &listener,
440                            lldb::pid_t pid,
441                            lldb::SBError& error);
442 
443     %feature("docstring", "
444     //------------------------------------------------------------------
445     /// Attach to process with name.
446     ///
447     /// @param[in] listener
448     ///     An optional listener that will receive all process events.
449     ///     If \a listener is valid then \a listener will listen to all
450     ///     process events. If not valid, then this target's debugger
451     ///     (SBTarget::GetDebugger()) will listen to all process events.
452     ///
453     /// @param[in] name
454     ///     Basename of process to attach to.
455     ///
456     /// @param[in] wait_for
457     ///     If true wait for a new instance of 'name' to be launched.
458     ///
459     /// @param[out]
460     ///     An error explaining what went wrong if attach fails.
461     ///
462     /// @return
463     ///      A process object for the attached process.
464     //------------------------------------------------------------------
465     ") AttachToProcessWithName;
466     lldb::SBProcess
467     AttachToProcessWithName (SBListener &listener,
468                              const char *name,
469                              bool wait_for,
470                              lldb::SBError& error);
471 
472     %feature("docstring", "
473     //------------------------------------------------------------------
474     /// Connect to a remote debug server with url.
475     ///
476     /// @param[in] listener
477     ///     An optional listener that will receive all process events.
478     ///     If \a listener is valid then \a listener will listen to all
479     ///     process events. If not valid, then this target's debugger
480     ///     (SBTarget::GetDebugger()) will listen to all process events.
481     ///
482     /// @param[in] url
483     ///     The url to connect to, e.g., 'connect://localhost:12345'.
484     ///
485     /// @param[in] plugin_name
486     ///     The plugin name to be used; can be NULL.
487     ///
488     /// @param[out]
489     ///     An error explaining what went wrong if the connect fails.
490     ///
491     /// @return
492     ///      A process object for the connected process.
493     //------------------------------------------------------------------
494     ") ConnectRemote;
495     lldb::SBProcess
496     ConnectRemote (SBListener &listener,
497                    const char *url,
498                    const char *plugin_name,
499                    SBError& error);
500 
501     lldb::SBFileSpec
502     GetExecutable ();
503 
504     bool
505     AddModule (lldb::SBModule &module);
506 
507     lldb::SBModule
508     AddModule (const char *path,
509                const char *triple,
510                const char *uuid);
511 
512     lldb::SBModule
513     AddModule (const char *path,
514                const char *triple,
515                const char *uuid_cstr,
516                const char *symfile);
517 
518     lldb::SBModule
519     AddModule (const SBModuleSpec &module_spec);
520 
521     uint32_t
522     GetNumModules () const;
523 
524     lldb::SBModule
525     GetModuleAtIndex (uint32_t idx);
526 
527     bool
528     RemoveModule (lldb::SBModule module);
529 
530     lldb::SBDebugger
531     GetDebugger() const;
532 
533     lldb::SBModule
534     FindModule (const lldb::SBFileSpec &file_spec);
535 
536     lldb::ByteOrder
537     GetByteOrder ();
538 
539     uint32_t
540     GetAddressByteSize();
541 
542     const char *
543     GetTriple ();
544 
545     lldb::SBError
546     SetSectionLoadAddress (lldb::SBSection section,
547                            lldb::addr_t section_base_addr);
548 
549     lldb::SBError
550     ClearSectionLoadAddress (lldb::SBSection section);
551 
552     lldb::SBError
553     SetModuleLoadAddress (lldb::SBModule module,
554                           int64_t sections_offset);
555 
556     lldb::SBError
557     ClearModuleLoadAddress (lldb::SBModule module);
558 
559     %feature("docstring", "
560     //------------------------------------------------------------------
561     /// Find functions by name.
562     ///
563     /// @param[in] name
564     ///     The name of the function we are looking for.
565     ///
566     /// @param[in] name_type_mask
567     ///     A logical OR of one or more FunctionNameType enum bits that
568     ///     indicate what kind of names should be used when doing the
569     ///     lookup. Bits include fully qualified names, base names,
570     ///     C++ methods, or ObjC selectors.
571     ///     See FunctionNameType for more details.
572     ///
573     /// @return
574     ///     A lldb::SBSymbolContextList that gets filled in with all of
575     ///     the symbol contexts for all the matches.
576     //------------------------------------------------------------------
577     ") FindFunctions;
578     lldb::SBSymbolContextList
579     FindFunctions (const char *name,
580                    uint32_t name_type_mask = lldb::eFunctionNameTypeAny);
581 
582     lldb::SBType
583     FindFirstType (const char* type);
584 
585     lldb::SBTypeList
586     FindTypes (const char* type);
587 
588     lldb::SBType
589     GetBasicType(lldb::BasicType type);
590 
591     lldb::SBSourceManager
592     GetSourceManager ();
593 
594     %feature("docstring", "
595     //------------------------------------------------------------------
596     /// Find global and static variables by name.
597     ///
598     /// @param[in] name
599     ///     The name of the global or static variable we are looking
600     ///     for.
601     ///
602     /// @param[in] max_matches
603     ///     Allow the number of matches to be limited to \a max_matches.
604     ///
605     /// @return
606     ///     A list of matched variables in an SBValueList.
607     //------------------------------------------------------------------
608     ") FindGlobalVariables;
609     lldb::SBValueList
610     FindGlobalVariables (const char *name,
611                          uint32_t max_matches);
612 
613      %feature("docstring", "
614     //------------------------------------------------------------------
615     /// Find the first global (or static) variable by name.
616     ///
617     /// @param[in] name
618     ///     The name of the global or static variable we are looking
619     ///     for.
620     ///
621     /// @return
622     ///     An SBValue that gets filled in with the found variable (if any).
623     //------------------------------------------------------------------
624     ") FindFirstGlobalVariable;
625     lldb::SBValue
626     FindFirstGlobalVariable (const char* name);
627 
628     void
629     Clear ();
630 
631     lldb::SBAddress
632     ResolveLoadAddress (lldb::addr_t vm_addr);
633 
634     SBSymbolContext
635     ResolveSymbolContextForAddress (const SBAddress& addr,
636                                     uint32_t resolve_scope);
637 
638     lldb::SBBreakpoint
639     BreakpointCreateByLocation (const char *file, uint32_t line);
640 
641     lldb::SBBreakpoint
642     BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line);
643 
644     lldb::SBBreakpoint
645     BreakpointCreateByName (const char *symbol_name, const char *module_name = NULL);
646 
647     lldb::SBBreakpoint
648     BreakpointCreateByName (const char *symbol_name,
649                             uint32_t func_name_type,           // Logical OR one or more FunctionNameType enum bits
650                             const SBFileSpecList &module_list,
651                             const SBFileSpecList &comp_unit_list);
652 
653     lldb::SBBreakpoint
654     BreakpointCreateByNames (const char *symbol_name[],
655                              uint32_t num_names,
656                              uint32_t name_type_mask,           // Logical OR one or more FunctionNameType enum bits
657                              const SBFileSpecList &module_list,
658                              const SBFileSpecList &comp_unit_list);
659 
660     lldb::SBBreakpoint
661     BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name = NULL);
662 
663     lldb::SBBreakpoint
664     BreakpointCreateBySourceRegex (const char *source_regex, const lldb::SBFileSpec &source_file, const char *module_name = NULL);
665 
666     lldb::SBBreakpoint
667     BreakpointCreateForException  (lldb::LanguageType language,
668                                    bool catch_bp,
669                                    bool throw_bp);
670 
671     lldb::SBBreakpoint
672     BreakpointCreateByAddress (addr_t address);
673 
674     uint32_t
675     GetNumBreakpoints () const;
676 
677     lldb::SBBreakpoint
678     GetBreakpointAtIndex (uint32_t idx) const;
679 
680     bool
681     BreakpointDelete (break_id_t break_id);
682 
683     lldb::SBBreakpoint
684     FindBreakpointByID (break_id_t break_id);
685 
686     bool
687     EnableAllBreakpoints ();
688 
689     bool
690     DisableAllBreakpoints ();
691 
692     bool
693     DeleteAllBreakpoints ();
694 
695     uint32_t
696     GetNumWatchpoints () const;
697 
698     lldb::SBWatchpoint
699     GetWatchpointAtIndex (uint32_t idx) const;
700 
701     bool
702     DeleteWatchpoint (lldb::watch_id_t watch_id);
703 
704     lldb::SBWatchpoint
705     FindWatchpointByID (lldb::watch_id_t watch_id);
706 
707     bool
708     EnableAllWatchpoints ();
709 
710     bool
711     DisableAllWatchpoints ();
712 
713     bool
714     DeleteAllWatchpoints ();
715 
716     lldb::SBWatchpoint
717     WatchAddress (lldb::addr_t addr,
718                   size_t size,
719                   bool read,
720                   bool write,
721                   SBError &error);
722 
723 
724     lldb::SBBroadcaster
725     GetBroadcaster () const;
726 
727     lldb::SBInstructionList
728     ReadInstructions (lldb::SBAddress base_addr, uint32_t count);
729 
730     lldb::SBInstructionList
731     ReadInstructions (lldb::SBAddress base_addr, uint32_t count, const char *flavor_string);
732 
733     lldb::SBInstructionList
734     GetInstructions (lldb::SBAddress base_addr, const void *buf, size_t size);
735 
736     lldb::SBInstructionList
737     GetInstructionsWithFlavor (lldb::SBAddress base_addr, const char *flavor_string, const void *buf, size_t size);
738 
739     lldb::SBSymbolContextList
740     FindSymbols (const char *name, lldb::SymbolType type = eSymbolTypeAny);
741 
742     bool
743     GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level);
744 
745     lldb::addr_t
746     GetStackRedZoneSize();
747 
748     bool
749     operator == (const lldb::SBTarget &rhs) const;
750 
751     bool
752     operator != (const lldb::SBTarget &rhs) const;
753 
754     lldb::SBValue
755     EvaluateExpression (const char *expr, const lldb::SBExpressionOptions &options);
756     %pythoncode %{
757         class modules_access(object):
758             '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.'''
759             def __init__(self, sbtarget):
760                 self.sbtarget = sbtarget
761 
762             def __len__(self):
763                 if self.sbtarget:
764                     return int(self.sbtarget.GetNumModules())
765                 return 0
766 
767             def __getitem__(self, key):
768                 num_modules = self.sbtarget.GetNumModules()
769                 if type(key) is int:
770                     if key < num_modules:
771                         return self.sbtarget.GetModuleAtIndex(key)
772                 elif type(key) is str:
773                     if key.find('/') == -1:
774                         for idx in range(num_modules):
775                             module = self.sbtarget.GetModuleAtIndex(idx)
776                             if module.file.basename == key:
777                                 return module
778                     else:
779                         for idx in range(num_modules):
780                             module = self.sbtarget.GetModuleAtIndex(idx)
781                             if module.file.fullpath == key:
782                                 return module
783                     # See if the string is a UUID
784                     try:
785                         the_uuid = uuid.UUID(key)
786                         if the_uuid:
787                             for idx in range(num_modules):
788                                 module = self.sbtarget.GetModuleAtIndex(idx)
789                                 if module.uuid == the_uuid:
790                                     return module
791                     except:
792                         return None
793                 elif type(key) is uuid.UUID:
794                     for idx in range(num_modules):
795                         module = self.sbtarget.GetModuleAtIndex(idx)
796                         if module.uuid == key:
797                             return module
798                 elif type(key) is re.SRE_Pattern:
799                     matching_modules = []
800                     for idx in range(num_modules):
801                         module = self.sbtarget.GetModuleAtIndex(idx)
802                         re_match = key.search(module.path.fullpath)
803                         if re_match:
804                             matching_modules.append(module)
805                     return matching_modules
806                 else:
807                     print "error: unsupported item type: %s" % type(key)
808                 return None
809 
810         def get_modules_access_object(self):
811             '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.'''
812             return self.modules_access (self)
813 
814         def get_modules_array(self):
815             '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.'''
816             modules = []
817             for idx in range(self.GetNumModules()):
818                 modules.append(self.GetModuleAtIndex(idx))
819             return modules
820 
821         __swig_getmethods__["modules"] = get_modules_array
822         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).''')
823 
824         __swig_getmethods__["module"] = get_modules_access_object
825         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.''')
826 
827         __swig_getmethods__["process"] = GetProcess
828         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.''')
829 
830         __swig_getmethods__["executable"] = GetExecutable
831         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.''')
832 
833         __swig_getmethods__["debugger"] = GetDebugger
834         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.''')
835 
836         __swig_getmethods__["num_breakpoints"] = GetNumBreakpoints
837         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.''')
838 
839         __swig_getmethods__["num_watchpoints"] = GetNumWatchpoints
840         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.''')
841 
842         __swig_getmethods__["broadcaster"] = GetBroadcaster
843         if _newclass: broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''')
844 
845         __swig_getmethods__["byte_order"] = GetByteOrder
846         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.''')
847 
848         __swig_getmethods__["addr_size"] = GetAddressByteSize
849         if _newclass: addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''')
850 
851         __swig_getmethods__["triple"] = GetTriple
852         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.''')
853     %}
854 
855 };
856 
857 } // namespace lldb
858