gdb commands
来源:互联网 发布:大码女装淘宝店 编辑:程序博客网 时间:2024/05/17 09:29
gcc/g++ -g -Wall -o sort sort.cddd --separate filegdb file -tuigdb file coreCtrl+PCtrl+NCtrl+X+Ahelprun run run arguments # run 12 5 7break break line_number # break 43 break function_name # break main break filename:line_number # break src/ins.c:12 break filename:function_name # break src/ins.c:sort break +offset # break +12 break -offset # break -12 break *address # break *0x1234 break break_args if condition_expression # break if i == 999 <==> continue N # break 31 if x==1 <==> break 31 ---> condition 1 x==1 # break sort if x > 1 <==> break sort ---> condition 1 x > 1 # break 55 if (x & y) == 1 && p != NULL && (i + j) % k < 2 # break 57 if strlen(str) > 3 && myfun(str) && !error(n) # break 88 thread 3 if x==yclear clear line_number # clear 43 clear function_name # clear main clear filename:line_number # clear src/ins.c:12 clear filename:function_name # clear src/ins.c:sort clear filename # clear maintbreakhbreakrbreakcontinue continue breakpoint_count # continue 3condition condition breakpoint_index condition_expression # condition 1 x==1 # set condition # condition 1 # empty condition, but keep breakpointinfo breakpointsnext next times # next 3step step times # step 3delete delete delete breakpoint_index/watch_index/breakpoint_list # delete 5list list filename # list main list function_name # list insert list filename:function_name # list cstring.c:mainquitdisable disable breakpoint_list # disable 1 2 3enable enable breakpoint_list # enable 1 2 3 enable once breakpoint_list # enable once 1 2 3finishuntil until until line_number # until 17 until function_name # until swap until filename:line_number # until main:17 until filename:function_name # until main:swapprint print varriable # print n print /format varriable # print /x n # print /c n # print /s n # print /f nprintf printf format, args # printf "%d\n", ndisplay display varriable # display *p # disable display 1 # enable display 1 # undisplay 1ptype ptype varriable--------- print cos(0.0) # $1 = 14368 print (double)cos(0.0) # $1 = 14368 ----- set $p = (double (*) (double))cos ptype $p # type = double (*) () print cos(3.14159265) # $2 = 14368 print $p(3.14159265) # $3 = -1---------commands commands breakpoint_number ...commands... end # commands 1 # silent # printf "fib was passed %d.\n", n # continue # end # define print_and_go # printf $arg0, $arg1 # continue # end # commands 1 # silent # print_and_go "fib was passed %d." n # end # commands 2 # silent # printf "string has a length of %d\n", strlen(string) # end # commands 3 # print *tmp # if 0 != tmp->left # print tmp->left->val # else # print "none" # end # if 0 != tmp->right # print tmp->right->val # else # print "none" # end # end # commands 3 # cancel conmmands 3 # endshow userwatch watch variable/expression # watch x # when x changes pause # watch x > 5 # when (x>5) changes pause # watch (i | j > 12) && i > 24 && strlen(name) > 6info locals# to show dynamic-array # int * p = (int *)malloc(sizeof(int) * 8)); *pointer@number_of_elements # print *p@8 (type [number_of_elements])*pointer # (int [8])*pset set variable = n # set argc = 3 set variable_array variable_list # set args 1 2 3 4 # change argv[1-5] # (char * [5])*argv # *argv@5 set $variable = n # set $i = 0 # print w[$i++]ulimit ulimit -c n # n KB ulimit -c unlimitedlimit limit coredumpsize n # n Byte, for tcsh, cshbacktraceframe frame_number # frame 1strace file argsinfo threadsthread thread_index # thread 3bt-------------------------------------------- # ps ax # gdb server 1254 # gdb file process_id # bt # frame 1 # frame frame_id--------------------------------------------handle SIGSEGV nostop noprint------------------------------------------------------------------- # cd z # gcc -g -c b.c # ar rc lib88.a b.o # cd .. # gcc -g -o a.out a.c -l88 -Lz # gcc -g -o a.out a.c z/lib88.a------------------------------------------------------------------- # cd z # gcc -fPIC -c b.c # gcc -shared -o lib99.so b.o # cd .. # gcc -g -o a.out a.c -l99 -Lz # gcc -g -o a.out a.c z/lib99.so-------------------------------------------------------------------