Version 1 (modified by 12 years ago) ( diff ) | ,
---|
Debugging WebKitGTK+
You need a compilation with symbols (take it easy as it'll take some time/hours):
$ Tools/Scripts/build-webkit --gtk --debug
On 32-bits arch it is quite unlikely this build will succeed. If you need a build with debug symbols but still without ASSERTs enabled you can try these options:
$ Tools/Scripts/build-webkit --gtk --disable-fast-malloc --enable-debug-symbols=full --disable-optimizations
In other to run GtkLauncher under gdb you should use a jhbuild shell and run gdb normally or use the jhbuild-wrapper as follows:
$ Tools/jhbuild/jhbuild-wrapper --gtk run gdb --args WebKitBuild/Debug/Programs/GtkLauncher --debug
Debugging multimedia stuff
You can use the environment variable GST_DEBUG:
$ export GST_DEBUG="webkit*:5"
To debug a multimedia test inside DRT (Dump Render Tree):
$ Tools/Scripts/run-webkit-tests --gtk --additional-env-var=GST_DEBUG=webkit*:5 --additional-env-var=GST_DEBUG_NO_COLOR=1 http/tests/media/video-play-stall.html
Debugging tests
- In order to run tests inside the @jhbuild@ shell, these two environment variables must be set:
$ export TEST_RUNNER_TEST_PLUGIN_PATH=$WEBKIT_HOME/WebKitBuild/Release/Libraries/.libs/ $ export TEST_RUNNER_INJECTED_BUNDLE_FILENAME=$WEBKIT_HOME/WebKitBuild/Release/Libraries/libTestRunnerInjectedBundle.la
Debugging issues
- Some times when running the WebKitTestRunner (WK2) you can see linking errors like the following one:
(lt-WebKitWebProcess:3392): WARNING **: Error loading the injected bundle (/home/javi/devel/WebKit/webkit.git/WebKitBuild/Debug/Libraries/libTestRunnerInjectedBundle.la): /home/javi/devel/WebKit/webkit.git/WebKitBuild/Debug/Libraries/.libs/libTestRunnerInjectedBundle.so: undefined symbol: _ZTVN7leveldb10ComparatorE
- One possible cause of such errors are missing symbols in the Source/autotools/symbols.filter. These symbols are automatically exposed in the by the libWebCoreInternals library via tags. Such library expose some symbols for testing purposes, just like the WTR application does.
- The symbols.filter should be updated by a fresh checkout, but if that's not the case, it's possible to workaround the issue by manually adding the missing symbols to the file.
Note:
See TracWiki
for help on using the wiki.