clan-app: Add pygdb.sh for debugging crashes in webview-lib
This commit is contained in:
@@ -103,6 +103,18 @@ GTK_DEBUG=interactive ./bin/clan-app --debug
|
||||
|
||||
Appending `--debug` flag enables debug logging printed into the console.
|
||||
|
||||
Debugging crashes in the `webview` library can be done by executing:
|
||||
|
||||
```bash
|
||||
$ ./pygdb.sh ./bin/clan-app --content-uri http://localhost:3000/ --debug
|
||||
```
|
||||
|
||||
I recommend creating the file `.local.env` with the content:
|
||||
```bash
|
||||
export WEBVIEW_LIB_DIR=$HOME/Projects/webview/build/core
|
||||
```
|
||||
where `WEBVIEW_LIB_DIR` points to a local checkout of the webview lib source, that has been build by hand. The `.local.env` file will be automatically sourced if it exists and will be ignored by git.
|
||||
|
||||
### Profiling
|
||||
|
||||
To activate profiling you can run
|
||||
@@ -111,51 +123,3 @@ To activate profiling you can run
|
||||
CLAN_CLI_PERF=1 ./bin/clan-app
|
||||
```
|
||||
|
||||
### Library Components
|
||||
|
||||
> Note:
|
||||
>
|
||||
> we recognized bugs when starting some cli-commands through the integrated vs-code terminal.
|
||||
> If encountering issues make sure to run commands in a regular os-shell.
|
||||
|
||||
lib-Adw has a demo application showing all widgets. You can run it by executing
|
||||
|
||||
```bash
|
||||
adwaita-1-demo
|
||||
```
|
||||
|
||||
GTK4 has a demo application showing all widgets. You can run it by executing
|
||||
|
||||
```bash
|
||||
gtk4-widget-factory
|
||||
```
|
||||
|
||||
To find available icons execute
|
||||
|
||||
```bash
|
||||
gtk4-icon-browser
|
||||
```
|
||||
|
||||
### Links
|
||||
|
||||
Here are some important documentation links related to the Clan App:
|
||||
|
||||
- [GTK4 PyGobject Reference](http://lazka.github.io/pgi-docs/index.html#Gtk-4.0): This link provides the PyGObject reference documentation for GTK4, the toolkit used for building the user interface of the clan app. It includes information about GTK4 widgets, signals, and other features.
|
||||
|
||||
- [Adw Widget Gallery](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/widget-gallery.html): This link showcases a widget gallery for Adw, allowing you to see the available widgets and their visual appearance. It can be helpful for designing the user interface of the clan app.
|
||||
|
||||
- [GNOME Human Interface Guidelines](https://developer.gnome.org/hig/): This link provides the GNOME Human Interface Guidelines, which offer design and usability recommendations for creating GNOME applications. It covers topics such as layout, navigation, and interaction patterns.
|
||||
|
||||
## Error handling
|
||||
|
||||
> Error dialogs should be avoided where possible, since they are disruptive.
|
||||
>
|
||||
> For simple non-critical errors, toasts can be a good alternative.
|
||||
|
||||
|
||||
[direnv]: https://direnv.net/
|
||||
[process-compose]: https://f1bonacc1.github.io/process-compose/
|
||||
[vite]: https://vite.dev/
|
||||
[webview]: https://github.com/webview/webview
|
||||
[Storybook]: https://storybook.js.org/
|
||||
[webkit]: https://webkit.org/
|
||||
5
pkgs/clan-app/pygdb.sh
Executable file
5
pkgs/clan-app/pygdb.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
PYTHON_DIR=$(dirname "$(which python3)")/..
|
||||
gdb --quiet -ex "source $PYTHON_DIR/share/gdb/libpython.py" --ex "sharedlib $WEBVIEW_LIB_DIR/libwebview.so" --ex "run" --args python "$@"
|
||||
Reference in New Issue
Block a user