📄 cdbfileformat.txt
字号:
|
L |
Link record type indicator |
+-----------------+-------------------------------------------------------------------------+
|
C |
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). |
+-----------------+-------------------------------------------------------------------------+
|
<Level> |
Current level at this line and address. |
+-----------------+-------------------------------------------------------------------------+
|
<Block> |
Current block at this line and address. |
+-----------------+-------------------------------------------------------------------------+
|
<EndAddress> |
End address |
+-----------------+-------------------------------------------------------------------------+
Purpose
The linker C-Line record is used to bind the execution
address with a source file, line number and the level,
block information.
The following is an example source module with its
lines showing the corresponding C-Line Records. You
will notice in this example that there are no line
entries for lines 18, 19. This is because the code was
optimized and removed.
01
02
struct complex
03
{
04
int count;
05
int Max;
06
};
07
08
L:C$vars.c$8$0$0:38
void main(void)
09
{
10
int iterA;
11
int iterB;
12
struct complex myStruct;
13
14
L:C$vars.c$14$1$1:C1
for(iterA = 0; iterA < 10; iterA++)
15
{
16
L:C$vars.c$16$2$2:B9
for(iterB = 0; iterB < 10; iterB++)
17
{
18
int iterA = 6 + iterB;
19
iterA++;
20
21
L:C$vars.c$21$1$1:69
myStruct.count++;
22
23
L:C$vars.c$23$3$3:83
if(myStruct.count > myStruct.Max)
24
L:C$vars.c$24$3$3:A3
myStruct.Max = mystruct.count;
25
}
26
}
27
L:C$vars.c$27$1$1:CE
}
Example
L:C$max1270.c$35$1$1:CA9
L:C$Timer0.c$20$1$1:D9D
5 Source File Example
sfr IM = 0x90;
struct complex
{
int count;
int Max;
};
void main(void)
{
int iterA;
int iterB;
struct complex myStruct;
for(iterA = 0; iterA < 10; iterA++)
{
for(iterB = 0; iterB < 10; iterB++)
{
int iterA = 6 + iterB;
iterA++;
myStruct.count++;
IM = iterA;
if(myStruct.count > myStruct.Max)
myStruct.Max = myStruct.count;
}
}
}
6 CDB File Example
M:vars
F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0
T:Fvars$complex[({0}S:S$count$0$0({2}SI:S),Z,0,0)({2}S:S$Max$0$0({2}SI:S),Z,0,0)]
S:Lmain$iterA$1$1({2}SI:S),R,0,0,[r0,r1]
S:Lmain$iterB$1$1({2}SI:S),R,0,0,[r4,r5]
S:Lmain$myStruct$1$1({4}STcomplex:S),E,0,0
S:Lmain$iterA$3$3({2}SI:S),R,0,0,[r6,r7]
S:G$IM$0$0({1}SC:U),I,0,0
S:G$main$0$0({2}DF,SV:S),C,0,0
L:G$IM$0$0:90
L:Lmain$myStruct$1$1:8
L:A$vars$64:0
L:A$vars$65:3
L:A$vars$67:B
L:A$vars$69:13
L:A$vars$71:1B
L:A$vars$73:23
L:A$vars$75:2B
L:A$vars$129:33
L:A$vars$131:36
L:A$vars$158:38
L:C$vars.c$10$0$0:38
L:G$main$0$0:38
L:A$vars$159:3A
L:A$vars$163:3C
L:A$vars$164:3D
L:A$vars$165:3E
L:A$vars$166:40
L:A$vars$167:41
L:A$vars$168:43
L:A$vars$170:45
L:A$vars$171:47
L:A$vars$176:4A
L:A$vars$177:4C
L:A$vars$181:4E
L:A$vars$182:4F
L:A$vars$183:50
L:A$vars$184:52
L:A$vars$185:53
L:A$vars$186:55
L:A$vars$191:57
L:A$vars$196:59
L:C$vars.c$20$3$3:59
L:A$vars$197:5B
L:A$vars$198:5D
L:A$vars$200:5E
L:A$vars$201:5F
L:A$vars$202:61
L:A$vars$207:62
L:C$vars.c$21$3$3:62
L:A$vars$208:63
L:A$vars$209:66
L:A$vars$216:67
L:C$vars.c$23$3$3:67
L:A$vars$217:69
L:A$vars$220:6B
L:A$vars$221:6C
L:A$vars$222:6F
L:A$vars$227:70
L:A$vars$228:72
L:A$vars$232:74
L:C$vars.c$25$3$3:74
L:A$vars$238:76
L:C$vars.c$27$3$3:76
L:A$vars$239:77
L:A$vars$240:79
L:A$vars$241:7A
L:A$vars$242:7C
L:A$vars$243:7E
L:A$vars$244:80
L:A$vars$245:83
L:A$vars$248:85
L:A$vars$256:87
L:C$vars.c$28$3$3:87
L:A$vars$257:8A
L:A$vars$263:8D
L:C$vars.c$18$2$2:8D
L:A$vars$264:8E
L:A$vars$265:91
L:A$vars$268:92
L:A$vars$274:94
L:C$vars.c$16$1$1:94
L:A$vars$275:95
L:A$vars$276:98
L:A$vars$278:99
L:A$vars$282:9C
L:C$vars.c$31$1$1:9C
L:XG$main$0$0:9C
L:A$vars$84:A1
L:A$vars$85:A4
L:A$vars$86:A7
L:A$vars$87:A9
L:A$vars$88:AB
L:A$vars$91:AE
L:A$vars$92:B0
L:A$vars$93:B2
L:A$vars$94:B4
L:A$vars$95:B6
L:A$vars$96:B8
L:A$vars$97:B9
L:A$vars$98:BB
L:A$vars$99:BD
L:A$vars$100:BE
L:A$vars$101:C1
L:A$vars$102:C3
L:A$vars$103:C6
L:A$vars$104:C7
L:A$vars$105:C8
L:A$vars$106:C9
L:A$vars$107:CA
L:A$vars$108:CB
L:A$vars$109:CE
L:A$vars$110:D0
L:A$vars$111:D2
L:A$vars$112:D5
L:A$vars$113:D7
L:A$vars$114:DA
L:A$vars$118:DD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -