0
|
1 |
Directory for:
|
|
2 |
coredump\plugins\formatters\symbian_elf\
|
|
3 |
test files
|
|
4 |
|
|
5 |
The tests at this level should be unit tests and should be run whenever the plugin is changed.
|
|
6 |
|
|
7 |
- test_crashdatasource is a dll called test_crashdatasource.dll.
|
|
8 |
|
|
9 |
This dll's export creates a CTestCrashDataSource object (CTestCrashDataSource isa CCrashDataSource).
|
|
10 |
CTestCrashDataSource supplies simulated, fixed crash data.
|
|
11 |
|
|
12 |
|
|
13 |
- t_symbian_elf_formatter is the unit test program.
|
|
14 |
|
|
15 |
It creates a data source from the dll test_crashdatasource.dll.
|
|
16 |
It then lists the available Symbian ELF formatting plugins.
|
|
17 |
Then it instanciates each formatter, configures the CTestCrashDataSource as their data source,
|
|
18 |
and then calls CrashEvent(). The formatter plugin will then call whatever it needs from the the
|
|
19 |
data source object to generate an elf dump.
|
|
20 |
|
|
21 |
|
|
22 |
- To build,
|
|
23 |
|
|
24 |
At \coredump\plugins\formatters\symbian_elf\group>
|
|
25 |
abld build ARMV5 UDEB
|
|
26 |
|
|
27 |
At \epoc32\rom\tools>
|
|
28 |
buildrom h2 techview symbian_elf_formatter.iby t_symbian_el_formatter.iby test_crashdatasource.iby -D_FULL_DEBUG
|
|
29 |
|
|
30 |
It is advisable to have the serial output connected, for logging.
|
|
31 |
|
|
32 |
Then from e_shell, run
|
|
33 |
t_symbian_elf_formatter.exe
|
|
34 |
|
|
35 |
|
|
36 |
|
|
37 |
|
|
38 |
Note:
|
|
39 |
The reason for the dll, as opposed to a static library, is that at run
|
|
40 |
time there is a check that fails when loading the formatter plugin at
|
|
41 |
base\e32\memmodel\epoc\pcodeseg.cpp::DEpocCodeSeg::DoCreate() ::
|
|
42 |
|
|
43 |
if ( (DLL.RomInfo().iFlags & (KRomImageFlagExeInTree|KRomImageFlagDll)) == (KRomImageFlagExeInTree|KRomImageFlagDll))
|
|
44 |
....
|
|
45 |
if ( NOT( Process->iXIP ) || ( &Process->RomInfo() != DLL.RomInfo().Dll Reference table[0].RomInfo() ))
|