771a8f70da
* docs: update chromium development-related documentation * chore: remove obsolete clang-format doc clang-format linting and fixing is a pre-commit hook now * docs: update debugging documentation * docs: misc updates * Update docs/development/debugging-on-windows.md Co-authored-by: Micha Hanselmann <mh74182@gmail.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/README.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/debugging-on-macos.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/testing.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> * Update docs/development/testing.md Co-authored-by: Mark Lee <malept@users.noreply.github.com> Co-authored-by: Micha Hanselmann <mh74182@gmail.com> Co-authored-by: Mark Lee <malept@users.noreply.github.com> Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
## Debugging with XCode
|
|
|
|
### Generate xcode project for debugging sources (cannot build code from xcode)
|
|
|
|
Run `gn gen` with the --ide=xcode argument.
|
|
|
|
```sh
|
|
$ gn gen out/Testing --ide=xcode
|
|
```
|
|
|
|
This will generate the electron.ninja.xcworkspace. You will have to open this workspace
|
|
to set breakpoints and inspect.
|
|
|
|
See `gn help gen` for more information on generating IDE projects with GN.
|
|
|
|
### Debugging and breakpoints
|
|
|
|
Launch Electron app after build.
|
|
You can now open the xcode workspace created above and attach to the Electron process
|
|
through the Debug > Attach To Process > Electron debug menu. [Note: If you want to debug
|
|
the renderer process, you need to attach to the Electron Helper as well.]
|
|
|
|
You can now set breakpoints in any of the indexed files. However, you will not be able
|
|
to set breakpoints directly in the Chromium source.
|
|
To set break points in the Chromium source, you can choose Debug > Breakpoints > Create
|
|
Symbolic Breakpoint and set any function name as the symbol. This will set the breakpoint
|
|
for all functions with that name, from all the classes if there are more than one.
|
|
You can also do this step of setting break points prior to attaching the debugger,
|
|
however, actual breakpoints for symbolic breakpoint functions may not show up until the
|
|
debugger is attached to the app.
|