Difference between revisions of "Education Project/Effort/Math baseline alignment/Debuging starmath"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
=== Milestone ===
 +
 
Current Build is m245
 
Current Build is m245
  
Line 4: Line 6:
  
  
Debug :
+
===Debug ===
  
 
all libmath are stripped by default, and you'll have to add the symbols for debugging. Thus you'll have to rebuild starmath, and symlink with the new math libs.
 
all libmath are stripped by default, and you'll have to add the symbols for debugging. Thus you'll have to rebuild starmath, and symlink with the new math libs.
  
Process:
+
===Process ===
  
 
1) Build adding rectangles (for baselines and co )
 
1) Build adding rectangles (for baselines and co )
Line 44: Line 46:
  
  
Interesting breakpoints :
+
===Interesting breakpoints===
  
 
First try:  
 
First try:  
Line 62: Line 64:
 
*FIXME* : verify what makes ( if (aTmpRes.TokenType & KParseType::IDENTNAME)) true
 
*FIXME* : verify what makes ( if (aTmpRes.TokenType & KParseType::IDENTNAME)) true
  
Screeenshots :
+
===Screeenshots ===
  
 
[[Image:Issue972_tested_case05.jpg]]
 
[[Image:Issue972_tested_case05.jpg]]
  
 
[[Image:issue972_tested_case21.jpg]]
 
[[Image:issue972_tested_case21.jpg]]

Revision as of 15:24, 17 February 2008

Milestone

Current Build is m245

install it wherever ( Desktop is a good option on Mac OS X)


Debug

all libmath are stripped by default, and you'll have to add the symbols for debugging. Thus you'll have to rebuild starmath, and symlink with the new math libs.

Process

1) Build adding rectangles (for baselines and co )

-> uncomment line 93 in node.cxx : all formulas will be drawn with colored lines giving all alignment information ( Top Bottom Baseline when existing ..etc ) -> See screenshot

2) Build starmath again using :

cd starmath

mv unxmacxi.pro unxmacxi.pro_backup /* adapt to your architecture / OS */ build, debug="something_but_not_empty"


3) Link the new libs ( or use linkoo ) from inside the bundle :

3.1) cd ~/Desktop/test_print/OpenOffice.org 2.4.app/Contents/MacOS

3.2 remove the striped libs :

rm -f libsm680mxi.dylib libsmd680mxi.dylib

3.3 create symlinks for the non strippied one :

ln -s ~/Desktop/SRC680_m245/starmath/unxmacxi.pro/lib/libsm680mxi.dylib . ln -s ~/Desktop/SRC680_m245/starmath/unxmacxi.pro/lib/libsmd680mxi.dylib .

!! don't forget the points !!


4) run gdb (from the previous location, inside the bundle) :

gdb --args soffice.bin - ( the " - " will open a new empty Writer document )


Interesting breakpoints

First try:

type an equation containing a^2 + b^2 , exit formula ( ESC twice ) then enter the word "text"

then create a new equation containing  %tau a^2 + b^2 and notice the difference.


First breakpoint: parse.cxx:398

When entering whatever letter, you hit a breakpoint. Just trace after it, and compare the two equations (e.g.)

Entering  %tau a^2 + b^2 , you'll see the line starmath/source/parse.cxx:770


  • FIXME* : verify what makes ( if (aTmpRes.TokenType & KParseType::IDENTNAME)) true

Screeenshots

Issue972 tested case05.jpg

Issue972 tested case21.jpg

Personal tools