当前位置: 首页 > news >正文

【Linux】内核调用栈打印函数dump_stack使用效果

 init/main.c的start_kernel示例,这个调用栈不太深:

 /var/log/dmesg日志:

[    0.000000] kernel: [init/main.c start_kernel 911] start_kernel(void)
[    0.000000] kernel: [kernel/panic.c print_tainted 519 LOG_TIMES: 1 ]  
[    0.000000] kernel: CPU: 0 PID: 0 Comm: swapper Not tainted 6.9.0+ #3
[    0.000000] kernel: Call Trace:
[    0.000000] kernel:  <TASK>
[    0.000000] kernel:  dump_stack_lvl+0x76/0xa0
[    0.000000] kernel:  dump_stack+0x10/0x20
[    0.000000] kernel:  start_kernel+0x51/0x1780
[    0.000000] kernel:  x86_64_start_reservations+0x18/0x30
[    0.000000] kernel:  x86_64_start_kernel+0xbf/0x110
[    0.000000] kernel:  common_startup_64+0x13e/0x141
[    0.000000] kernel:  </TASK>

这是网卡驱动发送数据的函数,调用栈比较深:


[   20.288274] kernel: [kernel/sched/core.c wake_up_new_task 4974]  pid: 1325 exe name: (udev-worker) 
[   20.294028] kernel: [net/ipv4/udp.c udp_send_skb 913]  
[   20.294037] kernel: [net/ipv4/ip_output.c ip_send_skb 1520]  
[   20.294042] kernel: [net/ipv4/ip_output.c ip_local_out 131] 1
[   20.294046] kernel: [net/ipv4/ip_output.c __ip_local_out 107] 1
[   20.294072] kernel: [include/linux/netdevice.h dev_queue_xmit 3092]  
[   20.294078] kernel: [net/core/dev.c __dev_queue_xmit 4378]  
[   20.294083] kernel: [net/core/dev.c __dev_xmit_skb 3855]  
[   20.294088] kernel: [net/sched/sch_generic.c sch_direct_xmit 322]  
[   20.294094] kernel: [net/core/dev.c dev_hard_start_xmit 3648]  
[   20.294098] kernel: [net/core/dev.c xmit_one 3631]  
[   20.294102] kernel: [include/linux/netdevice.h netdev_start_xmit 4922]  
[   20.294107] kernel: [include/linux/netdevice.h __netdev_start_xmit 4905] ops->ndo_start_xmit(skb, dev);
[   20.294112] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3200]  
[   20.294118] kernel: CPU: 2 PID: 748 Comm: avahi-daemon Not tainted 6.9.0+ #3
[   20.294126] kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
[   20.294131] kernel: Call Trace:
[   20.294136] kernel:  <TASK>
[   20.294143] kernel:  dump_stack_lvl+0x76/0xa0
[   20.294159] kernel:  dump_stack+0x10/0x20
[   20.294171] kernel:  e1000_xmit_frame+0x53/0x1ba0 [e1000]
[   20.294230] kernel:  ? vprintk_default+0x1d/0x30
[   20.294240] kernel:  ? vprintk+0x41/0x80
[   20.294250] kernel:  ? _printk+0x60/0x90
[   20.294266] kernel:  netdev_start_xmit+0xdd/0x340
[   20.294280] kernel:  dev_hard_start_xmit+0x9a/0x450
[   20.294293] kernel:  sch_direct_xmit+0xea/0x450
[   20.294307] kernel:  __dev_queue_xmit+0xb40/0x1090
[   20.294320] kernel:  ? _printk+0x60/0x90
[   20.294335] kernel:  ip_finish_output2+0x35d/0x810
[   20.294347] kernel:  __ip_finish_output+0xd9/0x280
[   20.294356] kernel:  ? dev_loopback_xmit+0xb7/0x250
[   20.294366] kernel:  ip_finish_output+0x60/0x280
[   20.294455] kernel:  ip_mc_output+0xb7/0x420
[   20.294465] kernel:  ? __pfx_ip_finish_output+0x10/0x10
[   20.294475] kernel:  ip_local_out+0x1e2/0x1f0
[   20.294485] kernel:  ip_send_skb+0x77/0x1e0
[   20.294494] kernel:  udp_send_skb+0x1a4/0x4d0
[   20.294507] kernel:  udp_sendmsg+0xc25/0x1060
[   20.294520] kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
[   20.294542] kernel:  inet_sendmsg+0x180/0x1f0
[   20.294550] kernel:  ? inet_sendmsg+0x180/0x1f0
[   20.294620] kernel:  sock_sendmsg_nosec+0x18e/0x220
[   20.294633] kernel:  ____sys_sendmsg+0x356/0x470
[   20.294649] kernel: [kernel/fork.c __do_sys_set_tid_address 1979]  
[   20.294650] kernel:  ___sys_sendmsg+0x164/0x5c0
[   20.294676] kernel:  __sys_sendmsg+0x89/0xf0
[   20.294686] kernel:  ? __sys_sendmsg+0x89/0xf0
[   20.294704] kernel:  __x64_sys_sendmsg+0x5a/0x180
[   20.294715] kernel:  x64_sys_call+0x25e/0x25c0
[   20.294725] kernel:  do_syscall_64+0x7e/0x180
[   20.294734] kernel:  ? aa_file_perm+0x140/0x570
[   20.294750] kernel:  ? inode_needs_update_time+0x4b/0xd0
[   20.294761] kernel:  ? file_update_time+0x1d/0x90
[   20.294770] kernel:  ? pipe_write+0x472/0x6b0
[   20.294783] kernel:  ? security_file_permission+0x36/0x60
[   20.294797] kernel:  ? vfs_write+0x2d1/0x6d0
[   20.294815] kernel:  ? ksys_write+0xc9/0x100
[   20.294828] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   20.294841] kernel:  ? do_syscall_64+0x8b/0x180
[   20.294852] kernel:  ? restore_fpregs_from_fpstate+0x47/0xf0
[   20.294865] kernel:  ? switch_fpu_return+0x50/0xe0
[   20.294946] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   20.294959] kernel:  ? do_syscall_64+0x8b/0x180
[   20.294969] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   20.294982] kernel:  ? do_syscall_64+0x8b/0x180
[   20.294990] kernel:  ? ksys_write+0xc9/0x100
[   20.295003] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   20.295016] kernel:  ? do_syscall_64+0x8b/0x180
[   20.295026] kernel:  ? do_syscall_64+0x8b/0x180
[   20.295036] kernel:  ? clear_bhb_loop+0x15/0x70
[   20.295047] kernel:  ? clear_bhb_loop+0x15/0x70
[   20.295057] kernel:  ? clear_bhb_loop+0x15/0x70
[   20.295070] kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   20.295080] kernel: RIP: 0033:0x796376b2c004
[   20.295087] kernel: Code: 15 19 6e 0d 00 f7 d8 64 89 02 b8 ff ff ff ff eb bf 0f 1f 44 00 00 f3 0f 1e fa 80 3d 45 f0 0d 00 00 74 13 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 4c c3 0f 1f 00 55 48 89 e5 48 83 ec 20 89 55
[   20.295094] kernel: RSP: 002b:00007ffcbf149758 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[   20.295102] kernel: RAX: ffffffffffffffda RBX: 00006032333d86a0 RCX: 0000796376b2c004
[   20.295107] kernel: RDX: 0000000000000000 RSI: 00007ffcbf149830 RDI: 000000000000000c
[   20.295112] kernel: RBP: 00007ffcbf1497d0 R08: 0000000000000004 R09: 0000000000000019
[   20.295117] kernel: R10: 0000796376ec1259 R11: 0000000000000202 R12: 000000000000000c
[   20.295122] kernel: R13: 00007ffcbf149830 R14: 00006032333c405c R15: 000000000000000c
[   20.295136] kernel:  </TASK>
[   20.295311] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202] [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202]  ens33
[   20.295320] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3217] name: ens33
[   20.295326] kernel: [include/linux/etherdevice.h eth_skb_pad 645]  
[   20.295330] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_tso 2790]  
[   20.295335] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_tx_csum 2866]  
[   20.295340] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_tx_map 2928]  
[   20.295348] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_tx_queue 3073]  
[   20.295662] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_clean 3923] NAPI Rx polling callback
[   20.295669] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_clean_tx_irq2 3963] Reclaim resources after transmit completes
[   20.295678] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_clean_tx_irq2 4062] netdev->stats.tx_packets: 32, netdev->stats.tx_bytes: 3451
[   20.295679] kernel: [kernel/fork.c kernel_clone 2821]  args->name: (null)
[   20.295687] kernel: [kernel/fork.c copy_process 2185]  

[   21.737604] kernel: [include/linux/netdevice.h dev_queue_xmit 3092]  
[   21.737610] kernel: [net/core/dev.c __dev_queue_xmit 4378]  
[   21.737615] kernel: [net/core/dev.c __dev_xmit_skb 3855]  
[   21.737619] kernel: [net/sched/sch_generic.c sch_direct_xmit 322]  
[   21.737623] kernel: [net/core/dev.c dev_hard_start_xmit 3648]  
[   21.737627] kernel: [net/core/dev.c xmit_one 3631]  
[   21.737697] kernel: [include/linux/netdevice.h netdev_start_xmit 4922]  
[   21.737700] kernel: [include/linux/netdevice.h __netdev_start_xmit 4905] ops->ndo_start_xmit(skb, dev);
[   21.737704] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3200]  
[   21.737708] kernel: CPU: 0 PID: 748 Comm: avahi-daemon Not tainted 6.9.0+ #3
[   21.737714] kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
[   21.737718] kernel: Call Trace:
[   21.737721] kernel:  <TASK>
[   21.737726] kernel:  dump_stack_lvl+0x76/0xa0
[   21.737738] kernel:  dump_stack+0x10/0x20
[   21.737749] kernel:  e1000_xmit_frame+0x53/0x1ba0 [e1000]
[   21.737877] kernel:  ? vprintk_default+0x1d/0x30
[   21.737885] kernel:  ? vprintk+0x41/0x80
[   21.737893] kernel:  ? _printk+0x60/0x90
[   21.737906] kernel:  netdev_start_xmit+0xdd/0x340
[   21.737917] kernel:  dev_hard_start_xmit+0x9a/0x450
[   21.737927] kernel:  sch_direct_xmit+0xea/0x450
[   21.737938] kernel:  __dev_queue_xmit+0xb40/0x1090
[   21.737947] kernel:  ? _printk+0x60/0x90
[   21.737960] kernel:  ip6_finish_output2+0x386/0x9a0
[   21.737971] kernel:  ? __pfx_dev_loopback_xmit+0x10/0x10
[   21.737979] kernel:  ip6_finish_output+0xe0/0x4b0
[   21.737988] kernel:  ? nf_hook_slow+0x7d/0x280
[   21.737998] kernel:  ip6_output+0xb8/0x2b0
[   21.738008] kernel:  ? __pfx_ip6_finish_output+0x10/0x10
[   21.738018] kernel:  ip6_local_out+0x7f/0x1c0
[   21.738026] kernel:  ip6_send_skb+0x5f/0x1e0
[   21.738035] kernel:  udp_v6_send_skb+0x20f/0x580
[   21.738047] kernel:  udpv6_sendmsg+0xd15/0x1070
[   21.738057] kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
[   21.738079] kernel:  inet6_sendmsg+0x180/0x1f0
[   21.738086] kernel:  ? inet6_sendmsg+0x180/0x1f0
[   21.738094] kernel:  sock_sendmsg_nosec+0x69/0x220
[   21.738103] kernel:  ____sys_sendmsg+0x356/0x470
[   21.738116] kernel:  ___sys_sendmsg+0x164/0x5c0
[   21.738182] kernel:  ? inode_needs_update_time+0x4b/0xd0
[   21.738197] kernel:  __sys_sendmsg+0x89/0xf0
[   21.738203] kernel:  ? __sys_sendmsg+0x89/0xf0
[   21.738216] kernel:  __x64_sys_sendmsg+0x5a/0x180
[   21.738223] kernel:  x64_sys_call+0x25e/0x25c0
[   21.738230] kernel:  do_syscall_64+0x7e/0x180
[   21.738237] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   21.738247] kernel:  ? do_syscall_64+0x8b/0x180
[   21.738253] kernel:  ? do_syscall_64+0x8b/0x180
[   21.738261] kernel:  ? ksys_write+0xc9/0x100
[   21.738271] kernel:  ? syscall_exit_to_user_mode+0x72/0x360
[   21.738280] kernel:  ? do_syscall_64+0x8b/0x180
[   21.738286] kernel:  ? do_syscall_64+0x8b/0x180
[   21.738293] kernel:  ? clear_bhb_loop+0x15/0x70
[   21.738301] kernel:  ? clear_bhb_loop+0x15/0x70
[   21.738308] kernel:  ? clear_bhb_loop+0x15/0x70
[   21.738318] kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   21.738325] kernel: RIP: 0033:0x796376b2c004
[   21.738330] kernel: Code: 15 19 6e 0d 00 f7 d8 64 89 02 b8 ff ff ff ff eb bf 0f 1f 44 00 00 f3 0f 1e fa 80 3d 45 f0 0d 00 00 74 13 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 4c c3 0f 1f 00 55 48 89 e5 48 83 ec 20 89 55
[   21.738335] kernel: RSP: 002b:00007ffcbf149758 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[   21.738340] kernel: RAX: ffffffffffffffda RBX: 00006032333d9da0 RCX: 0000796376b2c004
[   21.738345] kernel: RDX: 0000000000000000 RSI: 00007ffcbf149830 RDI: 000000000000000d
[   21.738348] kernel: RBP: 00007ffcbf1497d0 R08: 0000796376ec1260 R09: 00007ffcbf149792
[   21.738352] kernel: R10: 0000000000000001 R11: 0000000000000202 R12: 000000000000000d
[   21.738356] kernel: R13: 00007ffcbf149830 R14: 00006032333d5d5c R15: 000000000000000d
[   21.738367] kernel:  </TASK>
[   21.738369] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202] [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202]  ens33
[   21.738375] kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3217] name: ens33

 
2024-11-15T22:17:33.588491+08:00 a kernel: [net/ipv4/tcp_output.c tcp_send_ack 4321] source ip: 192.168.16.132: 80, dest ip: 101.6.15.130: 80, family: 2,  state: 1
2024-11-15T22:17:33.588492+08:00 a kernel: [net/ipv4/tcp_output.c __tcp_transmit_skb 1460] source ip: 192.168.16.132: 80, dest ip: 101.6.15.130: 80, family: 2,  state: 1
2024-11-15T22:17:33.588494+08:00 a kernel: [net/ipv4/tcp_output.c tcp_event_ack_sent 192] source ip: 192.168.16.132: 80, dest ip: 101.6.15.130: 80, family: 2,  state: 1
2024-11-15T22:17:33.588495+08:00 a kernel: [net/ipv4/ip_output.c ip_local_out 131] 1
2024-11-15T22:17:33.588497+08:00 a kernel: [net/ipv4/ip_output.c __ip_local_out 107] 1
2024-11-15T22:17:33.588498+08:00 a kernel: [include/linux/netdevice.h dev_queue_xmit 3092]  
2024-11-15T22:17:33.588500+08:00 a kernel: [net/core/dev.c __dev_queue_xmit 4378]  
2024-11-15T22:17:33.588501+08:00 a kernel: [net/core/dev.c __dev_xmit_skb 3855]  
2024-11-15T22:17:33.588503+08:00 a kernel: [net/sched/sch_generic.c sch_direct_xmit 322]  
2024-11-15T22:17:33.588504+08:00 a kernel: [net/core/dev.c dev_hard_start_xmit 3648]  
2024-11-15T22:17:33.588506+08:00 a kernel: [net/core/dev.c xmit_one 3631]  
2024-11-15T22:17:33.588507+08:00 a kernel: [include/linux/netdevice.h netdev_start_xmit 4922]  
2024-11-15T22:17:33.588509+08:00 a kernel: [include/linux/netdevice.h __netdev_start_xmit 4905] ops->ndo_start_xmit(skb, dev);
2024-11-15T22:17:33.588510+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3200]  
2024-11-15T22:17:33.588512+08:00 a kernel: CPU: 2 PID: 2306 Comm: gnome-terminal- Not tainted 6.9.0+ #3
2024-11-15T22:17:33.588513+08:00 a kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
2024-11-15T22:17:33.588515+08:00 a kernel: Call Trace:
2024-11-15T22:17:33.588516+08:00 a kernel:  <TASK>
2024-11-15T22:17:33.588518+08:00 a kernel:  dump_stack_lvl+0x76/0xa0
2024-11-15T22:17:33.588519+08:00 a kernel:  dump_stack+0x10/0x20
2024-11-15T22:17:33.588521+08:00 a kernel:  e1000_xmit_frame+0x53/0x1ba0 [e1000]
2024-11-15T22:17:33.588691+08:00 a kernel:  ? vprintk_default+0x1d/0x30
2024-11-15T22:17:33.588694+08:00 a kernel:  ? vprintk+0x41/0x80
2024-11-15T22:17:33.588695+08:00 a kernel:  ? _printk+0x60/0x90
2024-11-15T22:17:33.588696+08:00 a kernel:  netdev_start_xmit+0xdd/0x340
2024-11-15T22:17:33.588699+08:00 a kernel:  dev_hard_start_xmit+0x9a/0x450
2024-11-15T22:17:33.588701+08:00 a kernel:  sch_direct_xmit+0xea/0x450
2024-11-15T22:17:33.588703+08:00 a kernel:  __dev_queue_xmit+0xb40/0x1090
2024-11-15T22:17:33.588704+08:00 a kernel:  ? _printk+0x60/0x90
2024-11-15T22:17:33.588706+08:00 a kernel:  dev_queue_xmit+0x60/0x180
2024-11-15T22:17:33.588708+08:00 a kernel:  neigh_resolve_output+0x147/0x320
2024-11-15T22:17:33.588710+08:00 a kernel:  ip_finish_output2+0x1c8/0x810
2024-11-15T22:17:33.588711+08:00 a kernel:  __ip_finish_output+0xd9/0x280
2024-11-15T22:17:33.588713+08:00 a kernel:  ? vprintk+0x41/0x80
2024-11-15T22:17:33.588715+08:00 a kernel:  ip_finish_output+0x60/0x280
2024-11-15T22:17:33.588717+08:00 a kernel:  ip_output+0x9a/0x260
2024-11-15T22:17:33.588719+08:00 a kernel:  ? __pfx_ip_finish_output+0x10/0x10
2024-11-15T22:17:33.588720+08:00 a kernel:  ip_local_out+0x17d/0x1f0
2024-11-15T22:17:33.588722+08:00 a kernel:  __ip_queue_xmit+0x1bd/0x8b0
2024-11-15T22:17:33.588724+08:00 a kernel:  ip_queue_xmit+0x5b/0x180
2024-11-15T22:17:33.588725+08:00 a kernel:  __tcp_transmit_skb+0xf19/0x1400
2024-11-15T22:17:33.588728+08:00 a kernel:  __tcp_send_ack+0x10c/0x300
2024-11-15T22:17:33.588731+08:00 a kernel:  tcp_send_ack+0x104/0x250
2024-11-15T22:17:33.588732+08:00 a kernel:  __tcp_ack_snd_check+0x95/0x3a0
2024-11-15T22:17:33.588734+08:00 a kernel:  tcp_rcv_established+0x318/0x8a0
2024-11-15T22:17:33.588735+08:00 a kernel:  tcp_v4_do_rcv+0x1d9/0x430
2024-11-15T22:17:33.588737+08:00 a kernel:  tcp_v4_rcv+0x1093/0x1120
2024-11-15T22:17:33.588739+08:00 a kernel:  ? raw_local_deliver+0x194/0x3b0
2024-11-15T22:17:33.588758+08:00 a kernel:  ip_protocol_deliver_rcu+0x8e/0x280
2024-11-15T22:17:33.588762+08:00 a kernel:  ip_local_deliver_finish+0xac/0x1f0
2024-11-15T22:17:33.588765+08:00 a kernel:  ip_local_deliver+0xa3/0x260
2024-11-15T22:17:33.588766+08:00 a kernel:  ip_sublist_rcv_finish+0xbb/0x1e0
2024-11-15T22:17:33.588768+08:00 a kernel:  ip_sublist_rcv+0x16d/0x330
2024-11-15T22:17:33.588770+08:00 a kernel:  ? prb_read_valid+0x1c/0x30
2024-11-15T22:17:33.588781+08:00 a kernel:  ? printk_get_next_message+0x96/0x2b0
2024-11-15T22:17:33.588784+08:00 a kernel:  ip_list_rcv+0x138/0x280
2024-11-15T22:17:33.588794+08:00 a kernel:  __netif_receive_skb_list_core+0x37e/0x3a0
2024-11-15T22:17:33.588808+08:00 a kernel:  netif_receive_skb_list_internal+0x213/0x400
2024-11-15T22:17:33.588810+08:00 a kernel:  ? tcp4_gro_complete+0xbf/0x1f0
2024-11-15T22:17:33.588820+08:00 a kernel:  napi_gro_complete.constprop.0+0x1a1/0x480
2024-11-15T22:17:33.588831+08:00 a kernel:  dev_gro_receive+0x544/0x990
2024-11-15T22:17:33.588841+08:00 a kernel:  napi_gro_receive+0xb4/0x4e0
2024-11-15T22:17:33.590083+08:00 a kernel:  e1000_receive_skb+0xbc/0x1f0 [e1000]
2024-11-15T22:17:33.590183+08:00 a kernel:  e1000_clean_rx_irq+0x334/0xb60 [e1000]
2024-11-15T22:17:33.590271+08:00 a kernel:  e1000_clean+0x35e/0xe10 [e1000]
2024-11-15T22:17:33.590339+08:00 a kernel:  __napi_poll+0x6a/0x490
2024-11-15T22:17:33.590400+08:00 a kernel:  net_rx_action+0x16d/0x3f0
2024-11-15T22:17:33.590402+08:00 a kernel:  handle_softirqs+0x124/0x4d0
2024-11-15T22:17:33.590403+08:00 a kernel:  __do_softirq+0x3f/0x18c
2024-11-15T22:17:33.590404+08:00 a kernel:  __irq_exit_rcu+0xd0/0xf0
2024-11-15T22:17:33.590405+08:00 a kernel:  irq_exit_rcu+0xe/0x20
2024-11-15T22:17:33.590405+08:00 a kernel:  sysvec_apic_timer_interrupt+0x44/0xc0
2024-11-15T22:17:33.590406+08:00 a kernel: [net/ipv4/tcp.c tcp_recvmsg 2651] source ip: 192.168.16.132: 80, dest ip: 101.6.15.130: 80, family: 2,  state: 1
2024-11-15T22:17:33.590409+08:00 a kernel:  asm_sysvec_apic_timer_interrupt+0x1b/0x20
2024-11-15T22:17:33.590410+08:00 a kernel: RIP: 0033:0x7f372e2df6de
2024-11-15T22:17:33.590411+08:00 a kernel: Code: fc ff 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 55 48 89 e5 41 55 41 54 49 89 f4 53 48 89 fb 48 83 ec 08 0f b7 57 08 48 8b 3f <48> 89 d0 83 c2 01 48 85 ff 74 3b 39 57 fc 72 32 f3 41 0f 6f 04 24
2024-11-15T22:17:33.590412+08:00 a kernel: RSP: 002b:00007ffe99698f00 EFLAGS: 00000206
2024-11-15T22:17:33.590413+08:00 a kernel: RAX: 0000000000000036 RBX: 00005fb41ed20e48 RCX: 0000000000000000
2024-11-15T22:17:33.590414+08:00 a kernel: RDX: 0000000000000036 RSI: 00007ffe99698fb0 RDI: 00005fb41f22abb4
2024-11-15T22:17:33.590415+08:00 a kernel: RBP: 00007ffe99698f20 R08: 00005fb41e98631b R09: 0000000000000000
2024-11-15T22:17:33.590416+08:00 a kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 00007ffe99698fb0
2024-11-15T22:17:33.590417+08:00 a kernel: R13: 00005fb41ed20dd8 R14: 00005fb41e986318 R15: 0000000000001ab6
2024-11-15T22:17:33.590417+08:00 a kernel:  </TASK>
2024-11-15T22:17:33.590418+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202] [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202]  ens33
2024-11-15T22:17:33.590419+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3217] name: ens33
2024-11-15T22:17:33.590420+08:00 a kernel: [include/linux/etherdevice.h eth_skb_pad 645]  
2024-11-15T22:17:33.590420+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_tso 2790]  

2024-11-15T22:17:38.621067+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_clean_rx_irq 4650] netdev->stats.rx_packets: 33624, netdev->stats.rx_bytes: 50527630
2024-11-15T22:17:38.621069+08:00 a kernel: [net/ipv4/tcp_output.c tcp_send_delayed_ack 4226] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.621080+08:00 a kernel: [net/ipv4/tcp.c tcp_recvmsg 2651] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.623876+08:00 a kernel: [net/ipv4/tcp.c tcp_sendmsg 1364] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.623896+08:00 a kernel: [net/ipv4/tcp_output.c __tcp_transmit_skb 1460] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.623898+08:00 a kernel: [net/ipv4/tcp_output.c tcp_event_ack_sent 192] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.623899+08:00 a kernel: [net/ipv4/tcp_output.c tcp_event_data_sent 173] source ip: 192.168.16.132: 443, dest ip: 185.125.188.55: 443, family: 2,  state: 8
2024-11-15T22:17:38.623900+08:00 a kernel: [net/ipv4/ip_output.c ip_local_out 131] 1
2024-11-15T22:17:38.623901+08:00 a kernel: [net/ipv4/ip_output.c __ip_local_out 107] 1
2024-11-15T22:17:38.623901+08:00 a kernel: [include/linux/netdevice.h dev_queue_xmit 3092]  
2024-11-15T22:17:38.623902+08:00 a kernel: [net/core/dev.c __dev_queue_xmit 4378]  
2024-11-15T22:17:38.623903+08:00 a kernel: [net/core/dev.c __dev_xmit_skb 3855]  
2024-11-15T22:17:38.623903+08:00 a kernel: [net/sched/sch_generic.c sch_direct_xmit 322]  
2024-11-15T22:17:38.623904+08:00 a kernel: [net/core/dev.c dev_hard_start_xmit 3648]  
2024-11-15T22:17:38.623905+08:00 a kernel: [net/core/dev.c xmit_one 3631]  
2024-11-15T22:17:38.623906+08:00 a kernel: [include/linux/netdevice.h netdev_start_xmit 4922]  
2024-11-15T22:17:38.623906+08:00 a kernel: [include/linux/netdevice.h __netdev_start_xmit 4905] ops->ndo_start_xmit(skb, dev);
2024-11-15T22:17:38.623907+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3200]  
2024-11-15T22:17:38.623908+08:00 a kernel: CPU: 0 PID: 804 Comm: snapd Not tainted 6.9.0+ #3
2024-11-15T22:17:38.623909+08:00 a kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
2024-11-15T22:17:38.623910+08:00 a kernel: Call Trace:
2024-11-15T22:17:38.623911+08:00 a kernel:  <TASK>
2024-11-15T22:17:38.623912+08:00 a kernel:  dump_stack_lvl+0x76/0xa0
2024-11-15T22:17:38.623913+08:00 a kernel:  dump_stack+0x10/0x20
2024-11-15T22:17:38.623913+08:00 a kernel:  e1000_xmit_frame+0x53/0x1ba0 [e1000]
2024-11-15T22:17:38.623914+08:00 a kernel:  ? vprintk_default+0x1d/0x30
2024-11-15T22:17:38.623915+08:00 a kernel:  ? vprintk+0x41/0x80
2024-11-15T22:17:38.623915+08:00 a kernel:  ? _printk+0x60/0x90
2024-11-15T22:17:38.623916+08:00 a kernel:  netdev_start_xmit+0xdd/0x340
2024-11-15T22:17:38.623917+08:00 a kernel:  dev_hard_start_xmit+0x9a/0x450
2024-11-15T22:17:38.623918+08:00 a kernel:  sch_direct_xmit+0xea/0x450
2024-11-15T22:17:38.623919+08:00 a kernel:  __dev_queue_xmit+0xb40/0x1090
2024-11-15T22:17:38.623919+08:00 a kernel:  ? _printk+0x60/0x90
2024-11-15T22:17:38.623920+08:00 a kernel:  ip_finish_output2+0x35d/0x810
2024-11-15T22:17:38.623921+08:00 a kernel:  __ip_finish_output+0xd9/0x280
2024-11-15T22:17:38.623922+08:00 a kernel:  ? vprintk+0x41/0x80
2024-11-15T22:17:38.623923+08:00 a kernel:  ip_finish_output+0x60/0x280
2024-11-15T22:17:38.623923+08:00 a kernel:  ip_output+0x9a/0x260
2024-11-15T22:17:38.623924+08:00 a kernel:  ? __pfx_ip_finish_output+0x10/0x10
2024-11-15T22:17:38.623925+08:00 a kernel:  ip_local_out+0x17d/0x1f0
2024-11-15T22:17:38.623925+08:00 a kernel:  __ip_queue_xmit+0x1bd/0x8b0
2024-11-15T22:17:38.623926+08:00 a kernel:  ip_queue_xmit+0x5b/0x180
2024-11-15T22:17:38.623927+08:00 a kernel:  __tcp_transmit_skb+0xf19/0x1400
2024-11-15T22:17:38.623927+08:00 a kernel:  ? vsnprintf+0x40f/0x590
2024-11-15T22:17:38.623928+08:00 a kernel:  tcp_transmit_skb+0x63/0x190
2024-11-15T22:17:38.623929+08:00 a kernel:  tcp_write_xmit+0x543/0x1700
2024-11-15T22:17:38.623929+08:00 a kernel:  __tcp_push_pending_frames+0x7b/0x3a0
2024-11-15T22:17:38.623930+08:00 a kernel:  tcp_push+0x188/0x400
2024-11-15T22:17:38.623931+08:00 a kernel:  tcp_sendmsg_locked+0xd43/0x10c0
2024-11-15T22:17:38.623931+08:00 a kernel:  tcp_sendmsg+0x118/0x270
2024-11-15T22:17:38.623932+08:00 a kernel:  inet_sendmsg+0x7c/0x1f0
2024-11-15T22:17:38.623933+08:00 a kernel:  sock_sendmsg_nosec+0x18e/0x220
2024-11-15T22:17:38.623933+08:00 a kernel:  sock_write_iter+0x15d/0x280
2024-11-15T22:17:38.623934+08:00 a kernel:  vfs_write+0x2d1/0x6d0
2024-11-15T22:17:38.623935+08:00 a kernel:  ksys_write+0xc9/0x100
2024-11-15T22:17:38.623936+08:00 a kernel:  __x64_sys_write+0x19/0x30
2024-11-15T22:17:38.623936+08:00 a kernel:  x64_sys_call+0x7e/0x25c0
2024-11-15T22:17:38.623937+08:00 a kernel:  do_syscall_64+0x7e/0x180
2024-11-15T22:17:38.623938+08:00 a kernel:  ? wake_up_q+0x83/0x1e0
2024-11-15T22:17:38.623938+08:00 a kernel:  ? futex_wake+0x1b2/0x2e0
2024-11-15T22:17:38.623939+08:00 a kernel:  ? do_futex+0x337/0x3c0
2024-11-15T22:17:38.623940+08:00 a kernel:  ? __do_sys_futex+0x13e/0x2f0
2024-11-15T22:17:38.623940+08:00 a kernel:  ? syscall_exit_to_user_mode+0x72/0x360
2024-11-15T22:17:38.623941+08:00 a kernel:  ? do_syscall_64+0x8b/0x180
2024-11-15T22:17:38.623942+08:00 a kernel:  ? syscall_exit_to_user_mode+0x72/0x360
2024-11-15T22:17:38.623942+08:00 a kernel:  ? do_syscall_64+0x8b/0x180
2024-11-15T22:17:38.623943+08:00 a kernel:  ? do_syscall_64+0x8b/0x180
2024-11-15T22:17:38.623946+08:00 a kernel:  ? clear_bhb_loop+0x15/0x70
2024-11-15T22:17:38.623948+08:00 a kernel: message repeated 2 times: [  ? clear_bhb_loop+0x15/0x70]
2024-11-15T22:17:38.623949+08:00 a kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
2024-11-15T22:17:38.623952+08:00 a kernel: RIP: 0033:0x55a41718252e
2024-11-15T22:17:38.623954+08:00 a kernel: Code: 48 83 ec 38 e8 13 00 00 00 48 83 c4 38 5d c3 cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
2024-11-15T22:17:38.623955+08:00 a kernel: RSP: 002b:000000c000389740 EFLAGS: 00000216 ORIG_RAX: 0000000000000001
2024-11-15T22:17:38.623955+08:00 a kernel: RAX: ffffffffffffffda RBX: 0000000000000012 RCX: 000055a41718252e
2024-11-15T22:17:38.623956+08:00 a kernel: RDX: 0000000000000018 RSI: 000000c00003e480 RDI: 0000000000000012
2024-11-15T22:17:38.623957+08:00 a kernel: RBP: 000000c000389780 R08: 0000000000000000 R09: 0000000000000000
2024-11-15T22:17:38.623958+08:00 a kernel: R10: 0000000000000000 R11: 0000000000000216 R12: 000000c0003898b0
2024-11-15T22:17:38.623958+08:00 a kernel: R13: 000000000000000e R14: 000000c000785340 R15: 0000000000006099
2024-11-15T22:17:38.623959+08:00 a kernel:  </TASK>
2024-11-15T22:17:38.623960+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202] [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3202]  ens33
2024-11-15T22:17:38.623961+08:00 a kernel: [drivers/net/ethernet/intel/e1000/e1000_main.c e1000_xmit_frame 3217] name: ens33
2024-11-15T22:17:38.623961+08:00 a kernel: [include/linux/etherdevice.h eth_skb_pad 645]  

这里要注意,调用栈不一定完全按照函数调用关系打印的。

这个函数对于分析内核源代码执行流程是相当有用的。

相关文章:

【Linux】内核调用栈打印函数dump_stack使用效果

init/main.c的start_kernel示例&#xff0c;这个调用栈不太深&#xff1a; /var/log/dmesg日志&#xff1a; [ 0.000000] kernel: [init/main.c start_kernel 911] start_kernel(void) [ 0.000000] kernel: [kernel/panic.c print_tainted 519 LOG_TIMES: 1 ] [ 0.…...

Uniapp踩坑input自动获取焦点ref动态获取实例不可用

前言 大家好我是没钱的君子下流坯&#xff0c;用自己的话解释自己的知识。很久很更新了&#xff0c;这几个月一直在加班&#xff0c;今天记录一个uniapp关于input中focus()方法自动获取焦点的坑。 案例 为了实现一个手机验证码的页面&#xff0c;验证码是五个输入框&#xf…...

数据分析-47-时间序列变点检测之离线历史数据的CPD

文章目录 1 时间序列结构1.1 变化点的定义1.2 结构变化的类型1.2.1 水平变化1.2.2 方差变化1.3 变点检测1.3.1 离线数据检测方法1.3.2 实时数据检测方法2 模拟数据2.1 模拟恒定方差数据2.2 模拟变化方差数据3 离线数据变点检测3.1 Ruptures模块3.2 恒定方差CPD3.3 变化方差CPD4…...

加入GitHub Spark需要申请

目录 加入GitHub Spark需要申请 GitHub Spark 一、产品定位与特点 二、核心组件与功能 三、支持的AI模型 四、应用场景与示例 五、未来展望 六、申请体验 加入GitHub Spark需要申请 GitHub Spark 是微软旗下GitHub在2024年10月30日的GitHub Universe大会上推出的一款革…...

生成式GPT商品推荐:精准满足用户需求

生成式GPT商品推荐&#xff1a;精准满足用户需求 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;电商平台正在逐步迎来一场前所未有的变革。尤其是生成式GPT&#xff08;Generative Pre-trained Transformer&#xff09;技术的应用&#xff0c;正在重新定…...

async 和 await的使用

一、需求 点击按钮处理重复提交&#xff0c;想要通过disabled的方式实现。 但是点击按钮调用的方法里有ajax、跳转、弹窗等一系列逻辑操作&#xff0c;需要等方法里流程都走完&#xff0c;再把disabled设为false&#xff0c;这样下次点击按钮时就可以继续走方法里的ajax等操作…...

Spring Cloud Vault快速入门Demo

1.什么是Spring Cloud Vault&#xff1f; Spring Cloud Vault 是 Spring Cloud 生态系统中的一个项目&#xff0c;旨在简化 Spring 应用程序与 HashiCorp Vault 的集成。它提供了一种方便的方式来管理和访问应用程序的敏感配置数据&#xff0c;如数据库凭证、API 密钥和其他机…...

道陟科技EMB产品开发进展与标准设计的建议|2024电动汽车智能底盘大会

11月12日&#xff0c;2024电动汽车智能底盘大会在重庆开幕。会议由中国汽车工程学会主办&#xff0c;电动汽车产业技术创新战略联盟、中国汽车工程学会智能底盘分会、智能绿色车辆与交通全国重点实验室承办。本届大会围绕电动汽车智能底盘相关技术发展与融合&#xff0c;满足高…...

GitHub Org

运营一个GitHub Org&#xff08;组织&#xff09;是一个复杂但充满价值的过程&#xff0c;它涉及多个方面&#xff0c;包括项目管理、团队协作、代码审查、文档维护、社区建设等。以下是一篇关于如何运营GitHub Org的详细指南&#xff0c;旨在帮助组织者更好地管理和维护其GitH…...

unity小:shaderGraph不规则涟漪、波纹效果

实现概述 在本项目中&#xff0c;我们通过结合 Sine、Polar Coordinates 和 Time 节点&#xff0c;实现了动态波纹效果。以下是实现细节&#xff1a; 核心实现 Sine 波形生成&#xff1a; 使用 Sine 节点生成基本的波形。该节点能够创建周期性变化&#xff0c;为波纹效果提供…...

【JavaScript】JavaScript开篇基础(6)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

Spark RDD、DStream、DataFrame、DataSet 在窗口操作上的区别

Spark RDD、DStream、DataFrame、DataSet 在窗口操作上的区别 1. Spark RDD 是否支持窗口操作&#xff1a; RDD 本身没有专门的窗口操作算子。原因&#xff1a; RDD 是一个弹性分布式数据集&#xff0c;设计为通用的、不可变的操作单元&#xff0c;主要用于批处理场景。窗口函…...

http自动发送请求工具(自动化测试http请求)

点击下载《http自动发送请求工具(自动化测试http请求)》 前言 在现代软件开发过程中&#xff0c;HTTP 请求的自动化测试是确保应用程序稳定性和可靠性的关键环节。为了满足这一需求&#xff0c;我开发了一款功能强大且易于使用的自动化 HTTP 请求发送工具。该工具基于 C# 开发…...

网络IP地址会经常换吗?深入解析与实操指南

在互联网的生态系统中&#xff0c;IP地址&#xff08;Internet Protocol Address&#xff09;是每台连接设备的唯一标识符&#xff0c;它在网络通信中起着至关重要的作用。然而&#xff0c;不少用户观察到自己的IP地址有时会发生变化&#xff0c;这引发了诸多疑问。本文旨在详细…...

MapLocNet由粗到细的定位网络

论文链接 MapLocNet: Coarse-to-Fine Feature Registration for Visual Re-Localization in Navigation Mapshttps://arxiv.org/html/2407.08561v1 问题背景 当前自动驾驶的定位主要依赖于高精度的地图和GPS信号&#xff0c;但在城市环境中&#xff0c;GPS信号易受到多路径传…...

【Docker】Mac安装Docker Desktop导致磁盘剩余空间较少问题如何解决?

目录 一、背景描述 二、解决办法 三、清理效果 四、理论参考 解决方法 1. 清理未使用的 Docker 镜像、容器和卷 2. 查看 Docker 使用的磁盘空间 3. 调整 Docker 的存储位置 4. 增加磁盘空间 5. 调整 Docker Desktop 配置 6. 使用 Docker 清理工具&#xff08;例如 D…...

构建客服知识库:企业效率提升的关键步骤

客服知识库是企业提升客户服务效率和质量的重要工具。它不仅帮助客服团队快速准确地回答客户问题&#xff0c;还能通过数据分析来优化服务流程和提升客户满意度。 1. 明确知识库的目标和范围 构建客服知识库的第一步是明确其目标和范围。这包括确定知识库的主要用户群体、需要…...

java-Day06 内部类 Lambda表达式 API

内部类 内部类:就是在一个类中定义一个类 格式例: public class Outer { public class Inner { } } 内部类分类 1.成员内部类(了解) 创建成员内部类 外部类.内部类 对象名new外部类().new内部类() 2.静态内部类(了解) 3.局部内部类(了解) 4.匿名内部类…...

Springboot配置全局异常通用返回

Springboot配置全局异常通用返回 前言 前端对接了部分接口后&#xff0c;开始抱怨&#xff0c;“后端接口出参的格式总是千奇百怪&#xff0c;没有一个固定的格式&#xff0c;错误信息提示也不明朗&#xff0c;业务的状态码总是东一个西一个&#xff0c;前端这都不好做统一的…...

计算机视觉在自动驾驶汽车中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 引言 计算机视觉在自动…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...