?? cdbfileformat.txt
字號(hào):
|
SL |
long |
+--------------+----------------------------+
|
SI |
int |
+--------------+----------------------------+
|
SC |
char |
+--------------+----------------------------+
|
SS |
short |
+--------------+----------------------------+
|
SV |
void |
+--------------+----------------------------+
|
SF |
float |
+--------------+----------------------------+
|
ST <name> |
Structure of name <name> |
+--------------+----------------------------+
|
SX |
sbit |
+--------------+----------------------------+
|
SB <n> |
Bit field of <n> bits |
+--------------+----------------------------+
Examples
S:LcheckSerialPort$pstBuffer$1$1({3}DG,STTTinyBuffer:S),R,0,0,[r2,r3,r4]
S:Ltimer0LoadExtended$count$1$1({2}SI:S),B,1,-4
S:G$T2CON_7$0$0({1}SX:S),J,0,0
S:LAdcInitialize$a$1$1({2}SI:S),B,1,1
S:G$ScanCount$0$0({2}SI:S),F,0,0
4.5 Function Records
<F><:>
{ G | F<Filename> | L { <function> | "--null--" }}
<$><Name>
<$><Level>
<$><Block>
<(><TypeRecord><)>
<,><AddressSpace>
<,><OnStack>
<,><Stack>
<,><Interrupt>
<,><Interrupt Num>
<,><Register Bank>
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
F |
Symbol record type indicator |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
G |
Scope is global |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
F <Filename> |
Scope is file |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
L <Function> |
Scope is local |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Name> |
Symbol name |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Level> |
Scope level (see below) |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Block> |
Scope block (see below) |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<TypeChain> |
Type chain record (see type record below) |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Address Space> |
Address space code <see table below> |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<On Stack> |
Indicates if this is a stack variable |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Stack> |
If stack variable, the stack offset relative to the "bp"
variable. (Libraries will have to be compiled using the -
-debug option for this to be available) |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Is Interrupt> |
Indicates if this is an interrupt handler. |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Interrupt Num> |
If interrupt handler, this indicates the interrupt number. |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
<Register Bank> |
If interrupt handler, this ist he register bank number. |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
Purpose
The Function record defines any Source File function.
Its construction is the same as the symbol record, with
the addition of 3 extra parameters for indicating
interrupt handlers.
Example
F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0
F:G$SioISR$0$0({2}DF,SV:S),Z,0,0,1,4,0
4.6 Type Records
<T><:>
<F><Filename><$>
<Name>
<[><TypeMember>
{<TypeMember>} <]>
+-----------------+--------------------------------------------+
|
T |
Type record type indicator |
+-----------------+--------------------------------------------+
|
<Filename> |
The filename where this type is declared |
+-----------------+--------------------------------------------+
|
<Name> |
The name of this type |
+-----------------+--------------------------------------------+
|
<TypeMember> |
(see below) |
+-----------------+--------------------------------------------+
4.7 Type Member
<(><{><Offset><}><SymbolRecord><)>
+-------------------+----------------------------------------------------------------------------------+
|
<Offset> |
The offset of this type member in decimal. |
+-------------------+----------------------------------------------------------------------------------+
|
<SymbolRecord> |
A complete symbol record describing this Member. (See "
Symbol Records" above. |
+-------------------+----------------------------------------------------------------------------------+
Purpose
Type records describe the complex types within the
source file. These include structure and union types.
Examples
T:Fcmdas$TTinyBuffer[
({0}S:S$pNext$0$0({3}DG,STTTinyBuffer:S),Z,0,0)
({3}S:S$length$0$0({1}SC:U),Z,0,0)
({4}S:S$maxLength$0$0({1}SC:U),Z,0,0)
({5}S:S$rindex$0$0({1}SC:U),Z,0,0)
({6}S:S$windex$0$0({1}SC:U),Z,0,0)
({7}S:S$buffer$0$0({64}DA64,SC:U),Z,0,0)
]
4.8 Link Address of Symbol
<L><:>
{ <G> | F<filename> | L<function> }
<$><name>
<$><level>
<$><block>
<:><address>
+-----------------+----------------------------------------------------------------------------------------------+
|
L |
Link record type indicator |
+-----------------+----------------------------------------------------------------------------------------------+
|
G |
Symbol has file scope. |
+-----------------+----------------------------------------------------------------------------------------------+
|
F <Filename> |
Symbol has file scope. |
+-----------------+----------------------------------------------------------------------------------------------+
|
L <Function> |
Symbol has function scope |
+-----------------+----------------------------------------------------------------------------------------------+
|
<Name> |
Symbol name |
+-----------------+----------------------------------------------------------------------------------------------+
|
<Level> |
Symbol level |
+-----------------+----------------------------------------------------------------------------------------------+
|
<Block> |
Symbol block |
+-----------------+----------------------------------------------------------------------------------------------+
|
<Address> |
Symbol address in hex, relative to the address space
code, in the matching symbol record. |
+-----------------+----------------------------------------------------------------------------------------------+
Purpose
The link address record is used to bind a memory
location to a symbol record.
Example
L:G$P0$0$0:80
L:G$ScanCount$0$0:0
L:Fcmdas$_str_0$0$0:195
4.9 Linker Symbol End Address Record
<L><:><X>
{ <G> | F<filename> | L<functionName> }
<$><name>
<$><level>
<$><block>
<:><Address>
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
L |
Link record type indicator |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
X |
Link end address sub type indicator |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
G |
Symbol has file scope. |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
F <Filename> |
Symbol has file scope. |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
L <Function> |
Symbol has function scope. |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
<Name> |
Symbol name |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
<Level> |
Symbol level |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
<Block> |
Symbol block |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|
<Address> |
Symbol end address in hex, relative to the address
space code contained in the matching symbol record. |
+-----------------+-----------------------------------------------------------------------------------------------------------+
Purpose
The Linker Symbol end address record is primarily used
to indicate the Ending address of functions. This is
because function records do not contain a size value,
as symbol records do.
Example
L:XG$sysClearError$0$0:194
L:XG$SioISR$0$0:A09
4.10 Linker ASM Line Record
<L> <:> <A>
<$><Filename>
<$><Line>
<:><EndAddress>
+----------------+--------------------------------------------------------------------------+
|
L |
Link record type indicator |
+----------------+--------------------------------------------------------------------------+
|
A |
Link assembly file line record sub type indicator |
+----------------+--------------------------------------------------------------------------+
|
<Filename> |
Filename of the assembly file. |
+----------------+--------------------------------------------------------------------------+
|
<Line> |
Line number in the above filename.{}These numbers start
at 1 (not 0). |
+----------------+--------------------------------------------------------------------------+
|
<EndAdress> |
End address |
+----------------+--------------------------------------------------------------------------+
Purpose
The linker Asm Line record is used to bind the
execution address with a source file and line number.
Example
L:A$TinyBuffer$2320:A13
L:A$max1270$391:CA4
4.11 Linker C-Line Record
<L> <:> <C>
<$><Filename>
<$><Line>
<$><Level>
<$><Block>
<:><EndAddress>
+-----------------+-------------------------------------------------------------------------+
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -