⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collection.exp

📁 lwip在ucos上的移植
💻 EXP
📖 第 1 页 / 共 2 页
字号:
# Copyright (C) 1998 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # Please email any bugs, comments, and/or additions to this file to:# bug-gdb@prep.ai.mit.eduif [istarget "m68k-*-elf"] then {    pass "Test not supported on this target"    return;}load_lib "trace-support.exp"if $tracelevel then {	strace $tracelevel}set prms_id 0set bug_id 0set testfile "collection"set srcfile ${testfile}.cset binfile $objdir/$subdir/$testfileif { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \	executable {debug additional_flags=-w}] != "" } {    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."}# Tests: # 1) $args# 2) function args by name# 3) $locs# 4) function locals by name# 5) $regs# 6) registers by name ($sp, $fp?)# 7) globals by name# 8) expressions (lots of different kinds: local and global)set ws "\[\r\n\t \]+"set cr "\[\r\n\]+"## Utility procs#proc test_register { reg test_id } {    global cr    global gdb_prompt    send_gdb "print $reg\n"    gdb_expect {	-re "\\$\[0-9\]+ = \[x0\]+$cr$gdb_prompt " {	    fail "collect $test_id: collected $reg (zero)"	}	-re "\\$\[0-9\]+ = \[x0-9a-fA-F\]+$cr$gdb_prompt " {	    pass "collect $test_id: collected $reg"	}	-re "\[Ee\]rror.*$gdb_prompt " {	    fail "collect $test_id: collected $reg (error)"	}	timeout {	    fail "collect $test_id: collected $reg (timeout)"	}    }}proc run_trace_experiment { msg test_func } {    gdb_run_cmd     gdb_test "tstart" \	    "\[\r\n\]+" \	    "collect $msg: start trace experiment"    gdb_test "continue" \	    "Continuing.*Breakpoint \[0-9\]+, end.*" \	    "collect $msg: run trace experiment"    gdb_test "tstop" \	    "\[\r\n\]+" \	    "collect $msg: stop trace experiment"    gdb_test "tfind start" \	    "#0  $test_func .*" \	    "collect $msg: tfind test frame"}## Test procs#proc gdb_collect_args_test { myargs msg } {    global cr    global gdb_prompt    # Make sure we're in a sane starting state.    gdb_test "tstop" "" ""    gdb_test "tfind none" "" ""    gdb_delete_tracepoints    gdb_test "trace args_test_func" \	    "Tracepoint \[0-9\]+ at .*" \	    "collect $msg: set tracepoint"    gdb_trace_setactions "collect $msg: define actions" \	    "" \	    "collect $myargs" "^$"    # Begin the test.    run_trace_experiment $msg args_test_func    gdb_test "print argc" \	    "\\$\[0-9\]+ = 1 '.001'$cr" \	    "collect $msg: collected arg char"    gdb_test "print argi" \	    "\\$\[0-9\]+ = 2$cr" \	    "collect $msg: collected arg int"    gdb_test "print argf" \	    "\\$\[0-9\]+ = 3.\[23\]\[0-9\]*$cr" \	    "collect $msg: collected arg float"    gdb_test "print argd" \	    "\\$\[0-9\]+ = 4.\[34\]\[0-9\]*$cr" \	    "collect $msg: collected arg double"    # struct arg as one of several args (near end of list)    gdb_test "print argstruct.memberc" \	    "\\$\[0-9\]+ = 101 'e'$cr" \	    "collect $msg: collected arg struct member char"    gdb_test "print argstruct.memberi" \	    "\\$\[0-9\]+ = 102$cr" \	    "collect $msg: collected arg struct member int"    gdb_test "print argstruct.memberf" \	    "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \	    "collect $msg: collected arg struct member float"    gdb_test "print argstruct.memberd" \	    "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \	    "collect $msg: collected arg struct member double"    # array arg as one of several args (near end of list)    gdb_test "print argarray\[0\]" \	    "\\$\[0-9\]+ = 111$cr" \	    "collect $msg: collected argarray #0"    gdb_test "print argarray\[1\]" \	    "\\$\[0-9\]+ = 112$cr" \	    "collect $msg: collected argarray #1"    gdb_test "print argarray\[2\]" \	    "\\$\[0-9\]+ = 113$cr" \	    "collect $msg: collected argarray #2"    gdb_test "print argarray\[3\]" \	    "\\$\[0-9\]+ = 114$cr" \	    "collect $msg: collected argarray #3"    gdb_test "tfind none" \	    "#0  end .*" \	    "collect $msg: cease trace debugging"}proc gdb_collect_argstruct_test { myargs msg } {    global cr    global gdb_prompt    # Make sure we're in a sane starting state.    gdb_test "tstop" "" ""    gdb_test "tfind none" "" ""    gdb_delete_tracepoints    gdb_test "trace argstruct_test_func" \	    "Tracepoint \[0-9\]+ at .*" \	    "collect $msg: set tracepoint"    gdb_trace_setactions "collect $msg: define actions" \	    "" \	    "collect $myargs" "^$"    # Begin the test.    run_trace_experiment $msg argstruct_test_func    # struct argument as only argument    gdb_test "print argstruct.memberc" \	    "\\$\[0-9\]+ = 101 'e'$cr" \	    "collect $msg: collected arg struct member char"    gdb_test "print argstruct.memberi" \	    "\\$\[0-9\]+ = 102$cr" \	    "collect $msg: collected arg struct member int"    gdb_test "print argstruct.memberf" \	    "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \	    "collect $msg: collected arg struct member float"    gdb_test "print argstruct.memberd" \	    "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \	    "collect $msg: collected arg struct member double"    gdb_test "tfind none" \	    "#0  end .*" \	    "collect $msg: cease trace debugging"}proc gdb_collect_argarray_test { myargs msg } {    global cr    global gdb_prompt    # Make sure we're in a sane starting state.    gdb_test "tstop" "" ""    gdb_test "tfind none" "" ""    gdb_delete_tracepoints    gdb_test "trace argarray_test_func" \	    "Tracepoint \[0-9\]+ at .*" \	    "collect $msg: set tracepoint"    gdb_trace_setactions "collect $msg: define actions" \	    "" \	    "collect $myargs" "^$"    # Begin the test.    run_trace_experiment $msg argarray_test_func    # array arg as only argument    gdb_test "print argarray\[0\]" \	    "\\$\[0-9\]+ = 111$cr" \	    "collect $msg: collected argarray #0"    gdb_test "print argarray\[1\]" \	    "\\$\[0-9\]+ = 112$cr" \	    "collect $msg: collected argarray #1"    gdb_test "print argarray\[2\]" \	    "\\$\[0-9\]+ = 113$cr" \	    "collect $msg: collected argarray #2"    gdb_test "print argarray\[3\]" \	    "\\$\[0-9\]+ = 114$cr" \	    "collect $msg: collected argarray #3"    gdb_test "tfind none" \	    "#0  end .*" \	    "collect $msg: cease trace debugging"}proc gdb_collect_locals_test { func mylocs msg } {    global cr    global gdb_prompt    # Make sure we're in a sane starting state.    gdb_test "tstop" "" ""    gdb_test "tfind none" "" ""    gdb_delete_tracepoints    # Find the comment-identified line for setting this tracepoint.    set testline 0    send_gdb "list $func, +30\n"    gdb_expect {	-re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" {	    set testline $expect_out(1,string)	    pass "collect $msg: find tracepoint line"	}	-re ".*$gdb_prompt " {	    fail "collect $msg: find tracepoint line (skipping locals test)"	    return	}	timeout {	    fail "collect $msg: find tracepoint line (skipping locals test)"	    return	}    }    gdb_test "trace $testline" \	    "Tracepoint \[0-9\]+ at .*" \	    "collect $msg: set tracepoint"    gdb_trace_setactions "collect $msg: define actions" \	    "" \	    "collect $mylocs" "^$"    # Begin the test.    run_trace_experiment $msg $func    gdb_test "print locc" \	    "\\$\[0-9\]+ = 11 '.013'$cr" \	    "collect $msg: collected local char"    gdb_test "print loci" \	    "\\$\[0-9\]+ = 12$cr" \	    "collect $msg: collected local int"    gdb_test "print locf" \	    "\\$\[0-9\]+ = 13.\[23\]\[0-9\]*$cr" \	    "collect $msg: collected local float"    gdb_test "print locd" \	    "\\$\[0-9\]+ = 14.\[34\]\[0-9\]*$cr" \	    "collect $msg: collected local double"    gdb_test "print locst.memberc" \	    "\\$\[0-9\]+ = 15 '.017'$cr" \	    "collect $msg: collected local member char"    gdb_test "print locst.memberi" \	    "\\$\[0-9\]+ = 16$cr" \	    "collect $msg: collected local member int"    gdb_test "print locst.memberf" \	    "\\$\[0-9\]+ = 17.\[67\]\[0-9\]*$cr" \	    "collect $msg: collected local member float"    gdb_test "print locst.memberd" \	    "\\$\[0-9\]+ = 18.\[78\]\[0-9\]*$cr" \	    "collect $msg: collected local member double"    gdb_test "print locar\[0\]" \	    "\\$\[0-9\]+ = 121$cr" \	    "collect $msg: collected locarray #0"    gdb_test "print locar\[1\]" \	    "\\$\[0-9\]+ = 122$cr" \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -