| """ | |
| Fuzz tests an object after the default construction to make sure it does not crash lldb. | |
| """ | |
| import lldb | |
| def fuzz_obj(obj): | |
| obj.GetError() | |
| obj.GetID() | |
| obj.GetName() | |
| obj.GetTypeName() | |
| obj.GetByteSize() | |
| obj.IsInScope() | |
| obj.GetFormat() | |
| obj.SetFormat(lldb.eFormatBoolean) | |
| obj.GetValue() | |
| obj.GetValueType() | |
| obj.GetValueDidChange() | |
| obj.GetSummary() | |
| obj.GetObjectDescription() | |
| obj.GetLocation() | |
| obj.SetValueFromCString("my_new_value") | |
| obj.GetChildAtIndex(1) | |
| obj.GetChildAtIndex(2, lldb.eNoDynamicValues, False) | |
| obj.GetIndexOfChildWithName("my_first_child") | |
| obj.GetChildMemberWithName("my_first_child") | |
| obj.GetChildMemberWithName("my_first_child", lldb.eNoDynamicValues) | |
| obj.GetNumChildren() | |
| obj.GetOpaqueType() | |
| obj.Dereference() | |
| obj.TypeIsPointerType() | |
| stream = lldb.SBStream() | |
| obj.GetDescription(stream) | |
| obj.GetExpressionPath(stream) | |
| obj.GetExpressionPath(stream, True) | |
| error = lldb.SBError() | |
| obj.Watch(True, True, False, error) | |
| obj.WatchPointee(True, False, True, error) | |
| for child_val in obj: | |
| s = str(child_val) | |
| error = lldb.SBError() | |
| obj.GetValueAsSigned(error, 0) | |
| obj.GetValueAsUnsigned(error, 0) | |
| obj.GetValueAsSigned(0) | |
| obj.GetValueAsUnsigned(0) | |
| obj.GetDynamicValue(lldb.eNoDynamicValues) | |
| obj.GetStaticValue() | |
| obj.IsDynamic() | |
| invalid_type = lldb.SBType() | |
| obj.CreateChildAtOffset("a", 12, invalid_type) | |
| obj.Cast(invalid_type) | |
| obj.CreateValueFromExpression("pt->x", "pt->x") | |
| obj.CreateValueFromAddress("x", 0x123, invalid_type) | |
| invalid_data = lldb.SBData() | |
| obj.CreateValueFromData("x", invalid_data, invalid_type) | |
| obj.GetValueForExpressionPath("[0]") | |
| obj.AddressOf() | |
| obj.GetLoadAddress() | |
| obj.GetAddress() | |
| obj.GetPointeeData(0, 1) | |
| obj.GetData() | |
| obj.GetTarget() | |
| obj.GetProcess() | |
| obj.GetThread() | |
| obj.GetFrame() | |
| obj.GetType() |