./waf distclean
./waf configure --debug --board=sitl
./waf copter
启动cmd:
./build/sitl/bin/arducopter --speedup 1 --slave 0 --sim-address=127.0.0.1 -I0 --model quad
io查看目标5760
ubuntu22@NYX:/proc/net$ss -tnlp | grep 5760
LISTEN 0 5 0.0.0.0:5760 0.0.0.0:* users:(("arducopter",pid=13011,fd=10))
需要用mission planner 建立连接
ubuntu22@NYX:/proc/net$ sudo strace -p 13011 2>&1| grep sendto
sendto(11, "\n\nInit ArduCopter V4.8.0-dev (38"..., 70, MSG_DONTWAIT, NULL, 0) = 70
sendto(11, "0 ", 2, MSG_DONTWAIT, NULL, 0) = 2
sendto(11, "0 ", 2, MSG_DONTWAIT, NULL, 0) = 2
sendto(11, "0 ", 2, MSG_DONTWAIT, NULL, 0) = 2
sendto(11, "AP_Logger_File: buffer size=2048"..., 35, MSG_DONTWAIT, NULL, 0) = 35
sendto(11, "\375\37\0\0\0\1\1\375\0\0\7RCInput: decoding UDP"..., 80, MSG_DONTWAIT, NULL, 0) = 80
sendto(11, "\375\31\0\0\2\1\1\26\0\0\0\0\200?c\5\377\377COMPASS_EXTERN"..., 148, MSG_DONTWAIT, NULL, 0) =
/////////////
ubuntu22@NYX:/proc/net$ ls -alh /proc/13011/fd
total 0
dr-x------ 2 ubuntu22 ubuntu22 16 Jun 4 23:01 .
dr-xr-xr-x 9 ubuntu22 ubuntu22 0 Jun 4 23:01 ..
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 0 -> /dev/pts/2
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 1 -> /dev/pts/2
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 10 -> 'socket:46454'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:02 11 -> 'socket:46472'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:08 12 -> 'socket:50540'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:08 13 -> 'socket:50541'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:08 14 -> 'socket:50542'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:08 15 -> /home/ubuntu22/ardu/ardupilot_clean/terrain/S36E149.DAT
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 2 -> /dev/pts/2
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 3 -> 'socket:46448'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 4 -> 'socket:46449'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 5 -> 'socket:46450'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 6 -> 'socket:46451'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 7 -> 'socket:46452'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 8 -> 'socket:46453'
lrwx------ 1 ubuntu22 ubuntu22 64 Jun 4 23:01 9 -> /home/ubuntu22/ardu/ardupilot_clean/eeprom.bin
/////////////////////////////////////
ubuntu22@NYX:/proc/net$ grep -R 46472 .
./tcp: 17: 5BEE19AC:1680 01E019AC:C0CA 01 000000DA:00000000 01:00000014 00000000 1000 0 46472 2 0000000000000000 23 4 30 10 -1
本地地址:5BEE19AC = 172.25.238.91
本地端口:1680 = 5760(与之前相同)
远程地址:01E019AC = 172.25.224.1(与之前相同)
远程端口:C0CA = 49354(新端口,之前是 53554)
状态:01 = ESTABLISHED
PID:46472(不同于之前的 22580)
sudo tcpdump -i eth0 -vvv -X 'tcp dst port 5760 and tcptcpflags & tcp-push != 0'

gdb -p `pidof arducopter`
catch syscall sendto
