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

📄 setvar.exp

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 EXP
📖 第 1 页 / 共 2 页
字号:
# This testcase is part of GDB, the GNU debugger.# Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000,# 2001, 2004, 2007, 2008 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 3 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, see <http://www.gnu.org/licenses/>.# Please email any bugs, comments, and/or additions to this file to:# bug-gdb@gnu.org# This file was written by Rob Savoye. (rob@cygnus.com)if $tracelevel then {	strace $tracelevel	}## test running programs#set prms_id 0set bug_id 0set testfile "setvar"set srcfile ${testfile}.cset binfile ${objdir}/${subdir}/${testfile}if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {     untested setvar.exp     return -1}# Create and source the file that provides information about the compiler# used to compile the test case.if [get_compiler_info ${binfile}] {    return -1;}gdb_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_load $binfile## set it up at a breakpoint so we canplay with the variable values#send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $"if ![runto_main] then {    perror "couldn't run to breakpoint"    continue}# Determine expected output for unsigned long variables,# the output varies with sizeof (unsigned long).set ulong_minus_1 4294967295set ulong_minus_456 4294966840send_gdb "print sizeof (unsigned long)\n"gdb_expect {    -re ".\[0-9\]* = 4.*$gdb_prompt $" {}    -re ".\[0-9\]* = 8.*$gdb_prompt $" {	set ulong_minus_1 18446744073709551615	set ulong_minus_456 18446744073709551160    }    -re ".*$gdb_prompt $" {	 fail "getting sizeof unsigned long"    }    default	{ fail "(timeout) getting sizeof unsigned long" }}proc test_set { args } {    global gdb_prompt    set length [expr [llength $args] - 1];    set message "[lindex $args $length]";    set final [expr $length - 2];    set count 1;    # Set up the variables.    for {set x 0;} {$x < $length} {incr x;} {	if { "[lindex $args $x]" != "" } {	    set arg [lindex $args $x];	    if { ($x == $final) || ([string first ".*" [lindex $args [expr $x + 1]]] >= 0) } {		set match [lindex $args [expr $x + 1]];		if { $count == 1 } {		    set mess "$message"		} else {		    set mess "$message (#$count)";		}		incr count;		incr x;	    } else {		set mess "";		set match ""	    }	    verbose "doing $arg $match"	    if [gdb_test "$arg" "$match" "$mess"] {		fail "$message -- $match";		return 1;	    }	}    }    return 0;}## test "set variable" for type "char"## Because bare char types can be either signed or unsigned, we just test the# range of values that are common to both (0-127).#    test_set "set variable v_char=0" "print v_char" ".\[0-9\]* = 0 \'.0\'"        "set variable char=0" test_set "set variable v_char=1" "print v_char" ".\[0-9\]* = 1 \'.001\'"        "set variable char=1" test_set "set variable v_char=7" "print v_char" ".\[0-9\]* = 7 \'.a\'"        "set variable char=7 (Bel)" test_set "set variable v_char=32" "print v_char" ".\[0-9\]* = 32 \' \'"        "set variable char=32 (SPC)" test_set "set variable v_char=65" "print v_char" ".\[0-9\]* = 65 \'A\'"        "set variable char=65 ('A')" test_set "set variable v_char=97" "print v_char" ".\[0-9\]* = 97 \'a\'"        "set variable char=97 ('a')" test_set "set variable v_char=126" "print v_char" ".\[0-9\]* = 126 \'~\'"        "set variable char=126 ('~')" test_set "set variable v_char=127" "print v_char" ".\[0-9\]* = 127 \'.177\'"        "set variable char=127 (8-bit)" ## test "set variable" for type "signed char"#    test_set "set variable v_char=0" "print v_signed_char" ".\[0-9\]* = 0 \'.0\'"                 "set variable signed char=0" test_set "set variable v_signed_char=1" "print v_signed_char" ".\[0-9\]* = 1 \'.001\'"        "set variable signed char=1" test_set "set variable v_signed_char=7" "print v_signed_char" ".\[0-9\]* = 7 \'.a\'"        "set variable signed char=7 (Bel)" test_set "set variable v_signed_char=32" "print v_signed_char" ".\[0-9\]* = 32 \' \'"        "set variable signed char=32 (SPC)" test_set "set variable v_signed_char=65" "print v_signed_char" ".\[0-9\]* = 65 \'A\'"        "set variable signed char=65 ('A')" test_set "set variable v_signed_char=97" "print v_signed_char" ".\[0-9\]* = 97 \'a\'"        "set variable signed char=97 ('a')" test_set "set variable v_signed_char=126" "print v_signed_char" ".\[0-9\]* = 126 \'~\'"        "set variable signed char=126 ('~')" test_set "set variable v_signed_char=127" "print v_signed_char" ".\[0-9\]* = 127 \'.177\'"        "set variable signed char=127 (8-bit)" gdb_test "set variable v_signed_char=-1" ""if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \    "set variable signed char=-1 (-1)"gdb_test "set variable v_signed_char=0xFF" ""if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \    "set variable signed char=0xFF (0xFF)"## test "set variable" for type "unsigned char"#test_set "set variable v_unsigned_char=0" "print v_unsigned_char" ".\[0-9\]* = 0 \'.0\'"        "set variable unsigned char=0" test_set "set variable v_unsigned_char=1" "print v_unsigned_char" ".\[0-9\]* = 1 \'.001\'"        "set variable unsigned char=1" test_set "set variable v_unsigned_char=7" "print v_unsigned_char" ".\[0-9\]* = 7 \'.a\'"        "set variable unsigned char=7 (Bel)" test_set "set variable v_unsigned_char=32" "print v_unsigned_char" ".\[0-9\]* = 32 \' \'"        "set variable unsigned char=32 (SPC)" test_set "set variable v_unsigned_char=65" "print v_unsigned_char" ".\[0-9\]* = 65 \'A\'"        "set variable unsigned char=65 ('A')" test_set "set variable v_unsigned_char=97" "print v_unsigned_char" ".\[0-9\]* = 97 \'a\'"        "set variable unsigned char=97 ('a')" test_set "set variable v_unsigned_char=126" "print v_unsigned_char" ".\[0-9\]* = 126 \'~\'"        "set variable unsigned char=126 ('~')" test_set "set variable v_unsigned_char=~0" "print v_unsigned_char" ".\[0-9\]* = 255 \'.377\'"        "set variable unsigned char=255 (8-bit)" ## test "set variable" for type "short"#test_set "set variable v_short=0" "print v_short" ".\[0-9\]* = 0"        "set variable short=0" test_set "set variable v_short=1" "print v_short" ".\[0-9\]* = 1"        "set variable short=1" test_set "set variable v_short=-1" "print v_short" ".\[0-9\]* = -1"        "set variable short=-1 (minus)" ## test "set variable" for type "signed short"#test_set "set variable v_signed_short=0" "print v_signed_short" ".\[0-9\]* = 0"        "set variable signed short=0" test_set "set variable v_signed_short=1" "print v_signed_short" ".\[0-9\]* = 1"        "set variable signed short=1" test_set "set variable v_signed_short=-1" "print v_signed_short" ".\[0-9\]* = -1"        "set variable signed short=-1 (minus)" ## test "set variable" for type "unsigned short"#test_set "set variable v_unsigned_short=0" "print v_unsigned_short" ".\[0-9\]* = 0"        "set variable unsigned short=0" test_set "set variable v_unsigned_short=1" "print v_unsigned_short" ".\[0-9\]* = 1"        "set variable unsigned short=1" test_set "set variable v_unsigned_short=~0" "print v_unsigned_short" ".\[0-9\]* = 65535"        "set variable unsigned short=~0 (minus)" ## test "set variable" for type "int"#test_set "set variable v_int=0" "print v_int" ".\[0-9\]* = 0"        "set variable int=0" test_set "set variable v_int=1" "print v_int" ".\[0-9\]* = 1"        "set variable int=1" test_set "set variable v_int=-1" "print v_int" ".\[0-9\]* = -1"        "set variable int=-1 (minus)" ## test "set variable" for type "signed int"#test_set "set variable v_signed_int=0" "print v_signed_int" ".\[0-9\]* = 0"        "set variable signed int=0" test_set "set variable v_signed_int=1" "print v_signed_int" ".\[0-9\]* = 1"        "set variable signed int=1" test_set "set variable v_signed_int=-1" "print v_signed_int" ".\[0-9\]* = -1"        "set variable signed int=-1 (minus)" ## test "set variable" for type "unsigned int"#test_set "set variable v_unsigned_int=0" "print v_unsigned_int" ".\[0-9\]* = 0"        "set variable unsigned int=0" test_set "set variable v_unsigned_int=1" "print v_unsigned_int" ".\[0-9\]* = 1"        "set variable unsigned int=1" test_set "set variable v_unsigned_int=~0" "print v_unsigned_int" ".\[0-9\]* = (4294967295|65535)"        "set variable unsigned int=~0 (minus)" #test_set ".\[0-9\]* = 65535"        "set variable unsigned int=~0 (minus)" ## test "set variable" for type "long"#test_set "set variable v_long=0" "print v_long" ".\[0-9\]* = 0"        "set variable long=0" test_set "set variable v_long=1" "print v_long" ".\[0-9\]* = 1"        "set variable long=1" test_set "set variable v_long=-1" "print v_long" ".\[0-9\]* = -1"        "set variable long=-1 (minus)" ## test "set variable" for type "signed long"#test_set "set variable v_signed_long=0" "print v_signed_long" ".\[0-9\]* = 0"        "set variable signed long=0" 

⌨️ 快捷键说明

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