mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-23 21:20:42 +08:00
119 lines
5.5 KiB
Markdown
119 lines
5.5 KiB
Markdown
|
[#]: subject: "Debugging LibreOffice Basic Macro using Breakpoint and Watch"
|
|||
|
[#]: via: "https://www.debugpoint.com/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/"
|
|||
|
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
|||
|
[#]: collector: "lkxed"
|
|||
|
[#]: translator: " "
|
|||
|
[#]: reviewer: " "
|
|||
|
[#]: publisher: " "
|
|||
|
[#]: url: " "
|
|||
|
|
|||
|
Debugging LibreOffice Basic Macro using Breakpoint and Watch
|
|||
|
======
|
|||
|
|
|||
|
**A simple guide for you to learn how to debug LibreOffice basic macro using breakpoint and watch.**
|
|||
|
|
|||
|
While writing complex macros to automate various tasks in LibreOffice, you definitely encounter errors. Some run-time errors are self-explanatory. But some of them are very generic. To debug those, you need to carefully put breakpoints and step through the code to see where the problem is in your code.
|
|||
|
|
|||
|
Hence this tutorial. These techniques apply to all the macros written in Calc, Writer or Impress. And should be applied to OpenOffice macros as well.
|
|||
|
|
|||
|
### Debug a LibreOffice Macro written in Basic
|
|||
|
|
|||
|
It’s easier to demonstrate this concept using an example.
|
|||
|
|
|||
|
#### Define
|
|||
|
|
|||
|
Let’s define three variables which we would use for our exercise.
|
|||
|
|
|||
|
```
|
|||
|
dim i, j, cnt
|
|||
|
```
|
|||
|
|
|||
|
Define a `for` loop, which would execute from 1 to 10. Inside the loop, increment two variables as below. This is just for just this demo; however, you can put any logic you want.
|
|||
|
|
|||
|
```
|
|||
|
for cnt = 1 to 10
|
|||
|
i = i + 1
|
|||
|
j = i + 1
|
|||
|
next cnt
|
|||
|
```
|
|||
|
|
|||
|
#### Adding Breakpoint
|
|||
|
|
|||
|
Now, we want to put two breakpoints in the statement `"for cnt = 1 to 10"` and `"j = i + 1"`. When you put a breakpoint inside your program, it runs in debug mode and holds the execution at the breakpoint.
|
|||
|
|
|||
|
To put a breakpoint in a LibreOffice Basic macro, put the cursor in the statement. And then, press `F9` or press the below button from the toolbar.
|
|||
|
|
|||
|
![Breakpoint toolbar button in LibreOffice Macro editor][1]
|
|||
|
|
|||
|
Once you do that, you will see a red circle on the left side of the statement, which means a breakpoint has been added _to that statement_. See the below image. In addition, you can add multiple breakpoints as per your needs.
|
|||
|
|
|||
|
![After adding breakpoints][2]
|
|||
|
|
|||
|
If you want to remove a breakpoint from a statement, press `F9` again in the statement, OR you can `double-click` the red circle.
|
|||
|
|
|||
|
#### Adding Watch
|
|||
|
|
|||
|
Now, we would add a ‘watch’ to the variable `"cnt"`.
|
|||
|
|
|||
|
When the program executes in debug mode, the watch helps monitor a variable’s value between program steps. To add a watch on `"cnt"`variable, select the variable and press `F7` or click the glass icon in the toolbar.
|
|||
|
|
|||
|
![Watch button in the toolbar in LibreOffice Macro editor][3]
|
|||
|
|
|||
|
Once you do that, you will see the variable added to the watch list at the bottom of the editor.
|
|||
|
|
|||
|
![Watch section appears at the bottom of the editor][4]
|
|||
|
|
|||
|
#### Execute by Step
|
|||
|
|
|||
|
We are all set with tools.
|
|||
|
|
|||
|
Run the program by pressing `F5`. As we already added breakpoints, you would see the execution halts at the first breakpoint with a little **yellow arrow**.
|
|||
|
|
|||
|
![Execution halts at the breakpoint][5]
|
|||
|
|
|||
|
Now you have two options.
|
|||
|
|
|||
|
Press `F5` again to continue the execution of the program, and it will halt again at the next breakpoint.Press `F8` (step execution), which would execute step by step, and you can see the ‘watched’ variable `'cnt'` value is changing as below.
|
|||
|
|
|||
|
Lets press `F8`. You can see the yellow arrow comes to the next statement, and the compiler waits. Now the fun part, if you take a closer look at the watch window, you can see the `'cnt'`variable’s value is 1.
|
|||
|
|
|||
|
![Variable contents during execution][6]
|
|||
|
|
|||
|
So this way, you can debug, add breakpoints and add watch any LibreOffice or OpenOffice macro using its editor.
|
|||
|
|
|||
|
Furthermore, you can add many watch variables as you want and debug your program for successful execution.
|
|||
|
|
|||
|
### Closing Notes
|
|||
|
|
|||
|
Although the above example is specific to LibreOffice macros, the same concept applies to programming and debugging in general. I hope this article helps you to understand the basics of debugging, step execution and watch in programming and macros in LibreOffice.
|
|||
|
|
|||
|
### Looking for Something Else?
|
|||
|
|
|||
|
If you are looking for something else in LibreOffice macro tutorials Or wants to learn more about it, please follow the below link for the complete Macro Tutorials Index:
|
|||
|
|
|||
|
[Macro Tutorial Index][7]
|
|||
|
|
|||
|
[Next:How to Save and Open Tabs from Last Session in Web Browser][8]
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
via: https://www.debugpoint.com/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/
|
|||
|
|
|||
|
作者:[Arindam][a]
|
|||
|
选题:[lkxed][b]
|
|||
|
译者:[译者ID](https://github.com/译者ID)
|
|||
|
校对:[校对者ID](https://github.com/校对者ID)
|
|||
|
|
|||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|||
|
|
|||
|
[a]: https://www.debugpoint.com/author/admin1/
|
|||
|
[b]: https://github.com/lkxed
|
|||
|
[1]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_1.png
|
|||
|
[2]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_2.png
|
|||
|
[3]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_3.png
|
|||
|
[4]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_4.png
|
|||
|
[5]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_5.png
|
|||
|
[6]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_6.png
|
|||
|
[7]: http://www.debugpoint.com/libreoffice-basic-macro-tutorial-index/
|
|||
|
[8]: https://www.debugpoint.com/open-tabs-last-session-browser/
|