Debugging (LibreOffice Basic): verschil tussen versies

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken
(MRI - UNO Object Inspection Tool)
(Een tussenliggende versie door dezelfde gebruiker niet weergegeven)
Regel 4: Regel 4:
 
* Nadat je een break point hebt bereikt: F5 om verder te gaan, en F8 voor ''step''
 
* Nadat je een break point hebt bereikt: F5 om verder te gaan, en F8 voor ''step''
  
== Executie ==
+
== Stepping ==
  
 
* F8: ''Step''
 
* F8: ''Step''
Regel 13: Regel 13:
  
 
LibreOffice Basic-IDE: F7 [https://www.debugpoint.com/2014/09/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/]
 
LibreOffice Basic-IDE: F7 [https://www.debugpoint.com/2014/09/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/]
 +
 +
== Inspection - code ==
 +
 +
Andre Pythonyak, OO_ME, Listing 216:
 +
 +
<pre>
 +
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
 +
</pre>
 +
 +
Iets uitgebreider (eigen fabrikaat):
 +
 +
<pre>
 +
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
 +
</pre>
 +
  
 
== List of run-time errors ==
 
== List of run-time errors ==

Versie van 7 nov 2019 om 08:49

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


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