TranslateProject/sources/tech/20221221.1 ⭐️ Debugging LibreOffice Basic Macro using Breakpoint and Watch.md

119 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: 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
Its easier to demonstrate this concept using an example.
#### Define
Lets 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 variables 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'`variables 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/