Debugging (LibreOffice Basic)

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 7 nov 2019 om 10:17 (→‎Inspection - code)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

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