Debugging (LibreOffice Basic)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Break points

  • LibreOffice Basic-IDE: F9 [1]
  • Nadat je een break point hebt bereikt: F5 om verder te gaan, en F8 voor step

Stepping

  • F8: Step
  • Shift-F8: Step over
  • Shif-Ctrl-F8: Step out

Watch

LibreOffice Basic-IDE: F7 [2]

Inspection - code

Andre Pythonyak, OO_ME, Listing 216:

Dim v
v = Thiscomponent.getTextTables()
Print IsObject(v)      'True
Print IsNull(v)        'False
Print IsEmpty(v)       'False
Print IsArray(v)       'False
Print IsUnoStruct(v)   'False
Print TypeName(v)      'Object

MsgBox v.dbg_methods   'This property is discussed later

Iets uitgebreider (eigen fabrikaat):

v = Thiscomponent.getTextTables()

if IsObject(v) then	methods_txt=v.dbg_methods else methods_txt="<no object>"
	
msgbox	"isObject: " & chr(9) & IsObject(v)	& chr(9) & "IsNull:      " & chr(9) & chr(9)	& IsNull(v) 		& chr(9) & "IsEmpty:  "	& IsEmpty(v)	& chr(13) & _
	"IsArray:  " & chr(9) & IsArray(v)	& chr(9) & "IsUnoStruct: " & chr(9)	& IsUnoStruct(v)	& chr(9) & "Typename: "	& TypeName(v)	& chr(13) & chr(13) & _
	"Object methods: " & methods_txt

Ik wil dit in een eigen sub stoppen, maar daar krijg ik nog foutmeldingen (nov. 2019):

sub dvb_inspect(v)

'	if IsObject(v) then
'		methods_txt=v.dbg_methods
'		msgbox "Object!"
'		
'	else
'		methods_txt="<no object>"
'	end if		


	msgbox	"isObject: " & chr(9) & IsObject(v)	& chr(9) & "IsNull:      " & chr(9) & chr(9)	& IsNull(v) 		& chr(9) & "IsEmpty:  "	& IsEmpty(v)	& chr(13) & _
			"IsArray:  " & chr(9) & IsArray(v)	& chr(9) & "IsUnoStruct: " & chr(9)	& IsUnoStruct(v)	& chr(9) & "Typename: "	& TypeName(v)	& chr(13) & chr(13)
			
				
'	msgbox	"isObject: " & chr(9) & IsObject(v)	& chr(9) & "IsNull:      " & chr(9) & chr(9)	& IsNull(v) 		& chr(9) & "IsEmpty:  "	& IsEmpty(v)	& chr(13) & _
'			"IsArray:  " & chr(9) & IsArray(v)	& chr(9) & "IsUnoStruct: " & chr(9)	& IsUnoStruct(v)	& chr(9) & "Typename: "	& TypeName(v)	& chr(13) & chr(13) & _
'			"Object methods: " & methods_txt

end sub

Inspection - IDE

Als je een watch plaatst voor variabelen, kun je daarop dubbelklikken om alle eigenschappen te zien. Da's super, maar het werkt vaak niet: LibreOffice crashet meestal.

List of run-time errors

MRI

MRI (UNO Object Inspection Tool) is een debugging-tool. De meest recente versie is uit 2013, en geeft een syntax-error als je 'm probeert te installeren [3]

Bronnen