📄 pointers.exp
字号:
send_gdb "print (*rptr)\[2\]\n"gdb_expect { -re ".*= 2.*$gdb_prompt $" { pass "print array element through pointer" } -re ".*$gdb_prompt $" { fail "print array element through pointer" } timeout { fail "(timeout) print array element through pointer" } }gdb_test "set variable rptr = rptr+1" "" "increment rptr"send_gdb "print (*rptr)\[0\]\n"gdb_expect { -re ".*= 3.*$gdb_prompt $" { pass "print array element through pointer" } -re ".*$gdb_prompt $" { fail "print array element through pointer" } timeout { fail "(timeout) print array element through pointer" } }send_gdb "print (*rptr)\[1\]\n"gdb_expect { -re ".*= 4.*$gdb_prompt $" { pass "print array element through pointer" } -re ".*$gdb_prompt $" { fail "print array element through pointer" } timeout { fail "(timeout) print array element through pointer" } }send_gdb "print (*rptr)\[2\]\n"gdb_expect { -re ".*= 5.*$gdb_prompt $" { pass "print array element through pointer" } -re ".*$gdb_prompt $" { fail "print array element through pointer" } timeout { fail "(timeout) print array element through pointer" } }send_gdb "print *( *(matrix+1) +2)\n"gdb_expect { -re ".*= 5.*$gdb_prompt $" { pass "print array element w/ pointer arithmetic" } -re ".*$gdb_prompt $" { fail "print array element w/ pointer arithemtic" } timeout { fail "(timeout) print array element w/ pointer arithmetic" } }send_gdb "print **ptr_to_ptr_to_float\n"gdb_expect { -re ".*= 100.*$gdb_prompt $" { pass "print through ptr to ptr" } -re ".*$gdb_prompt $" { fail "print through ptr to ptr" } timeout { fail "(timeout) print through ptr to ptr" } }# tests for pointers # with elementary type variables and pointers.# send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"send_gdb "cont\n"gdb_expect { -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { pass "continue to marker1" send_gdb "up\n" gdb_expect { -re ".*more_code.*$gdb_prompt $" { pass "up from marker1" } -re ".*$gdb_prompt $" { fail "up from marker1" } timeout { fail "up from marker1 (timeout)" } } } -re "$gdb_prompt $" { fail "continue to marker1" } timeout { fail "continue to marker1 (timeout)" }}send_gdb "print *pUC\n"gdb_expect { -re ".\[0-9\]* = 21 \'.025\'.*$gdb_prompt $" { pass "print value of *pUC" } -re ".*$gdb_prompt $" { fail "print value of *pUC" } timeout { fail "(timeout) print value of *pUC" } }send_gdb "ptype pUC\n"gdb_expect { -re "type = unsigned char \\*.*$gdb_prompt $" { pass "ptype pUC" } -re ".*$gdb_prompt $" { fail "ptype pUC" } timeout { fail "(timeout) ptype pUC" }}send_gdb "print *pS\n"gdb_expect { -re ".\[0-9\]* = -14.*$gdb_prompt $" { pass "print value of *pS" } -re ".*$gdb_prompt $" { fail "print value of *pS" } timeout { fail "(timeout) print value of *pS" } }send_gdb "ptype pS\n"gdb_expect { -re "type = short \\*.*$gdb_prompt $" { pass "ptype pS" } -re "type = short int \\*.*$gdb_prompt $" { pass "ptype pS" } -re ".*$gdb_prompt $" { fail "ptype pS" } timeout { fail "(timeout) ptype pS" }}send_gdb "print *pUS\n"gdb_expect { -re ".\[0-9\]* = 7.*$gdb_prompt $" { pass "print value of *pUS" } -re ".*$gdb_prompt $" { fail "print value of *pUS" } timeout { fail "(timeout) print value of *pUS" } }send_gdb "ptype pUS\n"gdb_expect { -re "type = unsigned short \\*.*$gdb_prompt $" { pass "ptype pUS" } -re "type = short unsigned int \\*.*$gdb_prompt $" { pass "ptype pUS" } -re ".*$gdb_prompt $" { fail "ptype pUS" } timeout { fail "(timeout) ptype pUS" }}send_gdb "print *pI\n"gdb_expect { -re ".\[0-9\]* = 102.*$gdb_prompt $" { pass "print value of *pI" } -re ".*$gdb_prompt $" { fail "print value of *pI" } timeout { fail "(timeout) print value of *pI" } }send_gdb "ptype pI\n"gdb_expect { -re "type = int \\*.*$gdb_prompt $" { pass "ptype pI" } -re ".*$gdb_prompt $" { fail "ptype pI" } timeout { fail "(timeout) ptype pI" }}send_gdb "print *pUI\n"gdb_expect { -re ".\[0-9\]* = 1002.*$gdb_prompt $" { pass "print value of *pUI" } -re ".*$gdb_prompt $" { fail "print value of *pUI" } timeout { fail "(timeout) print value of *pUI" } }send_gdb "ptype pUI\n"gdb_expect { -re "type = unsigned int \\*.*$gdb_prompt $" { pass "ptype pUI" } -re ".*$gdb_prompt $" { fail "ptype pUI" } timeout { fail "(timeout) ptype pUI" }}send_gdb "print *pL\n"gdb_expect { -re ".\[0-9\]* = -234.*$gdb_prompt $" { pass "print value of *pL" } -re ".*$gdb_prompt $" { fail "print value of *pL" } timeout { fail "(timeout) print value of *pL" } }send_gdb "ptype pL\n"gdb_expect { -re "type = long \\*.*$gdb_prompt $" { pass "ptype pL" } -re "type = long int \\*.*$gdb_prompt $" { pass "ptype pL" } -re ".*$gdb_prompt $" { fail "ptype pL" } timeout { fail "(timeout) ptype pL" }}send_gdb "print *pUL\n"gdb_expect { -re ".\[0-9\]* = 234.*$gdb_prompt $" { pass "print value of *pUL" } -re ".*$gdb_prompt $" { fail "print value of *pUL" } timeout { fail "(timeout) print value of *pUL" } }send_gdb "ptype pUL\n"gdb_expect { -re "type = unsigned long \\*.*$gdb_prompt $" { pass "ptype pUL" } -re "type = long unsigned int \\*.*$gdb_prompt $" { pass "ptype pUL" } -re ".*$gdb_prompt $" { fail "ptype pUL" } timeout { fail "(timeout) ptype pUL" }}send_gdb "print *pF\n"gdb_expect { -re ".\[0-9\]* = 1.2\[0-9\]*e\\+10.*$gdb_prompt $" { pass "print value of *pF" } -re ".*$gdb_prompt $" { fail "print value of *pF" } timeout { fail "(timeout) print value of *pF" } }send_gdb "ptype pF\n"gdb_expect { -re "type = float \\*.*$gdb_prompt $" { pass "ptype pF" } -re ".*$gdb_prompt $" { fail "ptype pF" } timeout { fail "(timeout) ptype pF" }}send_gdb "print *pD\n"gdb_expect { -re ".\[0-9\]* = -1.2\[0-9\]*e\\-37.*$gdb_prompt $" { pass "print value of *pD" } -re ".*$gdb_prompt $" { fail "print value of *pD" } timeout { fail "(timeout) print value of *pD" } }send_gdb "ptype pD\n"gdb_expect { -re "type = double \\*.*$gdb_prompt $" { pass "ptype pD" } -re ".*$gdb_prompt $" { fail "ptype pD" } timeout { fail "(timeout) ptype pD" }}send_gdb "print ******ppppppC\n"gdb_expect { -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { pass "print value of ******ppppppC" } -re ".*$gdb_prompt $" { fail "print value of ******ppppppC" } timeout { fail "(timeout) print value of ******ppppppC" } }send_gdb "ptype pC\n"gdb_expect { -re "type = char \\*.*$gdb_prompt $" { pass "ptype pC" } -re ".*$gdb_prompt $" { fail "ptype pC" } timeout { fail "(timeout) ptype pC" }}send_gdb "ptype ppC\n"gdb_expect { -re "type = char \\*\\*.*$gdb_prompt $" { pass "ptype ppC" } -re ".*$gdb_prompt $" { fail "ptype ppC" } timeout { fail "(timeout) ptype ppC" }}send_gdb "ptype pppC\n"gdb_expect { -re "type = char \\*\\*\\*.*$gdb_prompt $" { pass "ptype pppC" } -re ".*$gdb_prompt $" { fail "ptype pppC" } timeout { fail "(timeout) ptype pppC" }}send_gdb "ptype ppppC\n"gdb_expect { -re "type = char \\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppC" } -re ".*$gdb_prompt $" { fail "ptype ppppC" } timeout { fail "(timeout) ptype ppppC" }}send_gdb "ptype pppppC\n"gdb_expect { -re "type = char \\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype pppppC" } -re ".*$gdb_prompt $" { fail "ptype pppppC" } timeout { fail "(timeout) ptype pppppC" }}send_gdb "ptype ppppppC\n"gdb_expect { -re "type = char \\*\\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppppC" } -re ".*$gdb_prompt $" { fail "ptype ppppppC" } timeout { fail "(timeout) ptype ppppppC" }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -