xref: /llvm-project/lldb/test/API/python_api/default-constructor/sb_target.py (revision 75e862077834c06e574d34e8958dd2ee7cc1d334)
199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtFuzz tests an object after the default construction to make sure it does not crash lldb.
399451b44SJordan Rupprecht"""
499451b44SJordan Rupprecht
599451b44SJordan Rupprechtimport lldb
699451b44SJordan Rupprecht
799451b44SJordan Rupprecht
899451b44SJordan Rupprechtdef fuzz_obj(obj):
999451b44SJordan Rupprecht    obj.GetProcess()
1099451b44SJordan Rupprecht    listener = lldb.SBListener()
1199451b44SJordan Rupprecht    error = lldb.SBError()
1299451b44SJordan Rupprecht    obj.Launch(listener, None, None, None, None, None, None, 0, True, error)
1399451b44SJordan Rupprecht    obj.LaunchSimple(None, None, None)
1499451b44SJordan Rupprecht    obj.AttachToProcessWithID(listener, 123, error)
152238dcc3SJonas Devlieghere    obj.AttachToProcessWithName(listener, "lldb", False, error)
1699451b44SJordan Rupprecht    obj.ConnectRemote(listener, "connect://to/here", None, error)
1799451b44SJordan Rupprecht    obj.GetExecutable()
1899451b44SJordan Rupprecht    obj.GetNumModules()
192238dcc3SJonas Devlieghere    obj.GetModuleAtIndex(0xFFFFFFFF)
2099451b44SJordan Rupprecht    obj.GetDebugger()
2199451b44SJordan Rupprecht    filespec = lldb.SBFileSpec()
2299451b44SJordan Rupprecht    obj.FindModule(filespec)
2399451b44SJordan Rupprecht    sc_list = obj.FindFunctions("the_func")
2499451b44SJordan Rupprecht    sc_list = obj.FindFunctions("the_func", lldb.eFunctionNameTypeAny)
2599451b44SJordan Rupprecht    obj.FindFirstType("dont_care")
2699451b44SJordan Rupprecht    obj.FindTypes("dont_care")
2799451b44SJordan Rupprecht    obj.FindFirstType(None)
2899451b44SJordan Rupprecht    obj.GetInstructions(lldb.SBAddress(), bytearray())
2999451b44SJordan Rupprecht    obj.GetSourceManager()
3099451b44SJordan Rupprecht    obj.FindGlobalVariables("my_global_var", 1)
312238dcc3SJonas Devlieghere    address = obj.ResolveLoadAddress(0xFFFF)
3299451b44SJordan Rupprecht    obj.ResolveSymbolContextForAddress(address, 0)
3399451b44SJordan Rupprecht    obj.BreakpointCreateByLocation("filename", 20)
3499451b44SJordan Rupprecht    obj.BreakpointCreateByLocation(filespec, 20)
3599451b44SJordan Rupprecht    obj.BreakpointCreateByName("func", None)
3699451b44SJordan Rupprecht    obj.BreakpointCreateByRegex("func.", None)
372238dcc3SJonas Devlieghere    obj.BreakpointCreateByAddress(0xF0F0)
3899451b44SJordan Rupprecht    obj.GetNumBreakpoints()
3999451b44SJordan Rupprecht    obj.GetBreakpointAtIndex(0)
4099451b44SJordan Rupprecht    obj.BreakpointDelete(0)
4199451b44SJordan Rupprecht    obj.FindBreakpointByID(0)
4299451b44SJordan Rupprecht    obj.EnableAllBreakpoints()
4399451b44SJordan Rupprecht    obj.DisableAllBreakpoints()
4499451b44SJordan Rupprecht    obj.DeleteAllBreakpoints()
4599451b44SJordan Rupprecht    obj.GetNumWatchpoints()
4699451b44SJordan Rupprecht    obj.GetWatchpointAtIndex(0)
4799451b44SJordan Rupprecht    obj.DeleteWatchpoint(0)
4899451b44SJordan Rupprecht    obj.FindWatchpointByID(0)
4999451b44SJordan Rupprecht    obj.EnableAllWatchpoints()
5099451b44SJordan Rupprecht    obj.DisableAllWatchpoints()
5199451b44SJordan Rupprecht    obj.DeleteAllWatchpoints()
5299451b44SJordan Rupprecht    obj.GetAddressByteSize()
5399451b44SJordan Rupprecht    obj.GetByteOrder()
5499451b44SJordan Rupprecht    obj.GetTriple()
5599451b44SJordan Rupprecht    error = lldb.SBError()
56*75e86207SDavid Spickett    wp_opts = lldb.SBWatchpointOptions()
57*75e86207SDavid Spickett    wp_opts.SetWatchpointTypeRead(True)
58*75e86207SDavid Spickett    wp_opts.SetWatchpointTypeWrite(lldb.eWatchpointWriteTypeOnModify)
59*75e86207SDavid Spickett    obj.WatchpointCreateByAddress(123, 8, wp_opts, error)
6099451b44SJordan Rupprecht    obj.GetBroadcaster()
6199451b44SJordan Rupprecht    obj.GetDescription(lldb.SBStream(), lldb.eDescriptionLevelBrief)
6299451b44SJordan Rupprecht    obj.Clear()
6399451b44SJordan Rupprecht    for module in obj.module_iter():
6499451b44SJordan Rupprecht        s = str(module)
6599451b44SJordan Rupprecht    for bp in obj.breakpoint_iter():
6699451b44SJordan Rupprecht        s = str(bp)
6799451b44SJordan Rupprecht    for wp in obj.watchpoint_iter():
6899451b44SJordan Rupprecht        s = str(wp)
69