📄 jprint.exp
字号:
# Copyright 2004, 2006, 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/>.# This file was written by Jeff Johnston. (jjohnstn@redhat.com)#if $tracelevel then { strace $tracelevel}load_lib "java.exp"set testfile "jprint"set srcfile ${srcdir}/$subdir/${testfile}.javaset binfile ${objdir}/${subdir}/${testfile}if { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } { untested "Couldn't compile ${srcfile}" return -1}# Set the current language to java. This counts as a test. If it# fails, then we skip the other tests.proc set_lang_java {} { global gdb_prompt global binfile objdir subdir verbose "loading file '$binfile'" gdb_load $binfile send_gdb "set language java\n" gdb_expect { -re ".*$gdb_prompt $" {} timeout { fail "set language java (timeout)" ; return 0 } } return [gdb_test "show language" ".* source language is \"java\".*" \ "set language to \"java\""]}set prms_id 0set bug_id 0# Start with a fresh gdb.gdb_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_test "set print sevenbit-strings" ".*"if ![set_lang_java] then { # Ref PR gdb:java/1565. Don't use the simpler "break jmisc.main". # As of 2004-02-24 it wasn't working and is being tested separatly. # Before GCJ 4.1 (approximately) the demangled name did not include # a method signature; after that point it does include a trailing # signature. runto_main set function "${testfile}.main(java.lang.String\[\])" gdb_breakpoint "\'$function\'" { allow-pending } gdb_breakpoint "\'${function}void\'" { allow-pending } gdb_continue_to_breakpoint $function gdb_test "p jvclass.addprint(4,5,6)" "sum is 15\r\n.*" "unambiguous static call" gdb_test "next" "" gdb_test "next" "" gdb_test "p x.print(44)" "x is 44\r\n.*" "single argument print call" gdb_test "p x.print(22,33)" "y is 33\r\n.*" "double argument print call" gdb_test "call x.dothat(55)" "new value is 58\r\n.*= 62.*" "virtual fn call" gdb_test "p x.addprint(1,2,3)" "sum is 6\r\n.*" "inherited static call" gdb_test "call x.addk(44)" "adding k gives 121\r\n.*= 121.*" "inherited virtual fn call"}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -