Hi, On Thu, Oct 26, 2017 at 02:24:33AM +0000, Yemelyanenko Fyodor <fyodo...@hotmail.com> wrote: > During work on bug https://bugs.documentfoundation.org/show_bug.cgi?id=108124 > I found dumpAsXml methods in different classes (i.e. SwNode, SwNodes, SwDoc, > SwPaM, SwPosition, etc.) > I've created separate function which creates XML writer, calls dumpAsXml from > some class and outputs result to debugger output. This is useful, as I can > call such function from debugger (using .call in WinDbg) and immediately get > class contents as xml (i.e SwNodes as xml). This function accepts only one > parameter - pointer to class. Such pointer can be found in locals window in > debugger. So dumping any class to debug output become easy and quick task, > without rewriting and recompiling code. > > The code itself is at the end of this message (this is draft code, written > quickly). > > I can make this code better (add cross-platform'ness as it depends on > OutputDebugStringA and I'm not sure that it exists in any other OS than > Windows), and submit as patch to master. Also I can add several lines here on > how to use my function to get xml dump during debugging > https://wiki.documentfoundation.org/Development/How_to_debug#Debugging_options > > If all this makes sense and can be useful not only for me?
There are 2 dumpers in sw, a document and a layout dumper. To dump the layout from a debugger, you need a reference to the SwRootFrame of the document, then you can call pRoot->dumpAsXml() already, it'll write its output in a file called layout.xml in the current directory. The same is true for the doc xml dump, just it's SwDoc::dumpAsXml() and the output is nodes.xml. If some of that is not up to your expectations, feel free to submit a gerrit patch to improve the output, the current contents is quite ad-hoc, based on what was necessary for debugging past bugs and features. :-) (sw/qa/extras/README documents how the UI can invoke these functions in debug mode via (Shift-)F12.) Regards, Miklos
signature.asc
Description: Digital signature
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice