123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- handle SIGPIPE pass noprint nostop
- handle SIGTTIN pass noprint nostop
- # FreeSWITCH Custom GDB commands
- define list_sessions
- dont-repeat
- printf "Listing sessions: \n"
- set $i = 0
- set $idx = 0
- set $len = session_manager.session_table->tablelength
- while($idx < $len)
- set $x = session_manager.session_table->table[$idx]
- while($x != 0x0)
- printf "uuid %s is at %p\n", $x->k, $x->v
- set $i = $i + 1
- set $x = $x->next
- end
- set $idx = $idx + 1
- end
- printf "Found %d sessions.\n", $i
- end
- document list_sessions
- Print a list of session uuid and pointers
- end
- define hash_it_str
- dont-repeat
- set $i = 0
- set $idx = 0
- set $len = $arg0->tablelength
- printf "len: %d\n", $arg0->tablelength
- while($idx < $len)
- set $x = $arg0->table[$idx]
- while($x != 0x0)
- printf "key: %s valueptr: %p\n", $x->k, $x->v
- set $x = $x->next
- set $i = $i + 1
- end
- set $idx = $idx + 1
- end
- end
- document hash_it_str
- Usage: hash_it_str [hashtable]
- Prints the content of a hashtable displaying the key as a string and the value as pointer
- end
- define hash_it_str_x
- dont-repeat
- set $i = 0
- set $idx = 0
- set $len = $arg0->tablelength
- while($idx < $len)
- set $x=$arg0->table->[$idx]
- while($x != 0x0)
- printf "key: %s\n", $x->k
- print (($arg1*)$x->v)->$arg2
- printf "\n\n"
- set $x = $x->next
- set $i = $i + 1
- end
- end
- end
- document hash_it_str_x
- Usage: hash_it_str_x [hashtable] [value_type] [member]
- Prints the content of a hashtable displaying the key as a string and a specific member of the value struct. Args: hashtable value_type member
- end
- define event_dump
- dont-repeat
- set $x = $arg0->headers
- while($x != 0x0)
- printf "%s = %s\n", $x->name, $x->value
- set $x = $x->next
- end
- end
- document event_dump
- Usage: event_dump [switch_event_t*]
- Print an event's headers and values
- end
- define print_list
- dont-repeat
- set $x = $arg0
- while ($x != 0x0)
- print *$x
- set $x = $x->next
- end
- end
- document print_list
- Usage print_list [symbol]
- Prints all the remaining elements of a linked list
- end
- define print_tags
- dont-repeat
- set $x = $arg0
- while (*((int*)$x) != 0x0)
- info sym $x->t_tag
- printf "%p \"%s\"\n", $x->t_value, $x->t_value
- set $x = $x + 1
- end
- end
- document print_tags
- Usage print_tags [tags]
- List sofia tags and their values
- end
- define setup_session
- set $session=(switch_core_session_t*)$arg0
- set $channel = $session->channel
- printf "UUID: %s\nName: %s\nState: %d\n", $session->uuid_str, $channel->name, $channel->state
- end
- document setup_session
- Usage setup_session [session address]
- Sets session and channel from the given address
- end
- define setup_sofia
- set $tech_pvt = (private_object_t*)$session->private_info
- set $nh = $tech_pvt->nh
- end
- document setup_sofia
- No arguments. Sets nh and tech_pvt from the current session
- end
|