当前位置:首页>Linux>adb服务在嵌入式ARM Linux平台移植全过程记录

adb服务在嵌入式ARM Linux平台移植全过程记录

  • 2026-06-28 07:55:27
adb服务在嵌入式ARM Linux平台移植全过程记录

ADB 服务在 NT98336 平台移植为例

全过程详解

Android Debug Bridge Daemon (adbd) Cross-Compilation Guide

基于 AOSP platform-tools-34.0.5 / Debian 源码包

文档版本: 1.0
生成日期: 2026-06-20
目标平台: Novatek NT98336 (AArch64 Cortex-A53)
工具链: aarch64-ca53-linux-gnueabihf 8.4 (glibc 2.30)

目录

1. 概述与背景

2. 环境准备

2.1 主机环境要求

2.2 交叉工具链

2.3 工作目录结构

3. 源码获取

3.1 Debian 源码包方式 (推荐)

3.2 直接 AOSP 方式

4. 外部依赖交叉编译

4.1 OpenSSL 1.1.1w

4.2 Protobuf 3.21.12

4.3 Brotli / LZ4 / Zstd / libusb

4.4 libcap (可选)

5. 源码修补与兼容层

5.1 Debian 补丁

5.2 GCC 8.4 兼容性修复

5.3 BoringSSL → OpenSSL 兼容层

5.4 TLS 存根

5.5 IPv6 → IPv4 回退

5.6 VSOCK 移除

6. Android 支撑库编译

7. ADB 公共库 (libadb.a)

8. ADB 守护进程 (adbd)

9. 完整构建脚本

10. 部署与运行

10.1 部署文件

10.2 运行命令

10.3 验证方法

11. 常见问题与排错

12. 附录:关键文件清单

1. 概述与背景

Android Debug Bridge (ADB) 是 Android 开发中不可或缺的调试工具。本文将详细介绍如何将 ADB 守护进程 (adbd) 移植到 Novatek NT98336 嵌入式 Linux 平台上。
NT98336 是一款基于 ARM Cortex-A53 的 SoC,运行 Buildroot 构建的嵌入式 Linux 系统 (glibc 2.30, Linux 4.19)。该平台未启用 IPv6,且没有 Android 运行时环境。

关键约束

  • 交叉工具链: aarch64-ca53-linux-gnueabihf 8.4 (GCC 8.4.0)
  • 目标系统: Buildroot 2020.02, glibc 2.30, 无 IPv6
  • ADB 源码: AOSP platform-tools-34.0.5 (通过 Debian 源码包 android-platform-tools_34.0.5)
  • 网络限制: 主机可以访问 Debian 镜像,但无法直接访问 GitHub / AOSP
  • 权限限制: 无 sudo 权限
  • 认证: auth_required = false (嵌入式 Linux 非 Android,跳过认证)

2. 环境准备

2.1 主机环境要求

  • Linux 发行版 (Ubuntu 20.04+ / Debian 11+ 推荐)
  • Python 3.8+
  • CMake 3.10+
  • Git
  • Make / Autotools
  • 交叉编译器 (见 2.2 节)

2.2 交叉工具链

本项目使用 Buildroot 2020.02 生成的 aarch64-ca53-linux-gnueabihf 工具链,位于 /data/linux05/CrossCompiler/aarch64-ca53-linux-gnueabihf-8.4/。
关键工具链前缀命令:
  • aarch64-ca53-linux-gnu-gcc (C 编译器)
  • aarch64-ca53-linux-gnu-g++ (C++ 编译器)
  • aarch64-ca53-linux-gnu-ar (归档工具)
  • aarch64-ca53-linux-gnu-ranlib (索引工具)
  • aarch64-ca53-linux-gnu-strip (剥离符号)
验证工具链:
aarch64-ca53-linux-gnu-gcc --version

预期输出: aarch64-ca53-linux-gnu-gcc (crosstool-NG) 8.4.0

aarch64-ca53-linux-gnu-gcc -print-sysroot

预期输出: 工具链 sysroot 路径

2.3 工作目录结构

adb_aarch64-ca53/
├── build/

构建输出目录

│ ├── build.sh

完整构建脚本

│ ├── downloads/

源码压缩包

│ ├── sysroot/

交叉编译依赖安装目录

│ ├── work/

工作目录(解压、兼容层代码)

│ ├── obj/

.o 目标文件

│ ├── adbd

最终二进制

│ └── *.a

静态库

├── src/

解压后的源码

│ ├── packages/modules/adb/

ADB 核心源码

│ ├── system/core/

Android core 库

│ ├── system/libbase/

Android libbase

│ ├── system/logging/

Android logging

│ ├── frameworks/native/libs/adbd_auth/

adbd_auth

│ └── debian/patches/

Debian 补丁

├── adbd-deploy.tar.gz

部署压缩包

└── gen_doc.py

本文档生成脚本

3. 源码获取

3.1 Debian 源码包方式 (推荐)

通过 Debian 源码包获取 ADB 源码,避免直接从 AOSP 下载(需翻墙):

安装 dpkg-dev

sudo apt install dpkg-dev

下载 Debian 源码包

dget -x http://deb.debian.org/debian/pool/main/a/android-platform-tools/android-platform-tools_34.0.5-1.debian.tar.xz

或者使用 apt-get source

apt-get source android-platform-tools

解压主源码

mkdir -p /path/to/src && cd /path/to/src
tar xf ../android-platform-tools_34.0.5.orig.tar.xz
tar xf ../android-platform-tools_34.0.5-1.debian.tar.xz -C .

补丁在 debian/patches/

3.2 直接 AOSP 方式

如果网络允许,也可以直接从 AOSP 获取:
git clone https://android.googlesource.com/platform/packages/modules/adb
git clone https://android.googlesource.com/platform/system/core
git clone https://android.googlesource.com/platform/system/libbase
git clone https://android.googlesource.com/platform/system/logging
git clone https://android.googlesource.com/platform/frameworks/native

切换到 tag android-14.0.0_r34 以获得 platform-tools-34.0.5 对应版本

注: 本移植基于 Debian 源码包版本,代码路径前缀为 src/packages/modules/adb/。

4. 外部依赖交叉编译

所有外部依赖全部编译为静态库 (.a),安装到 $PREFIX (=build/sysroot)。以下路径均以工作目录顶层为基准。

4.1 OpenSSL 1.1.1w

ADB 需要 OpenSSL 提供加解密功能(RSA 密钥、证书等),编译命令:
cd build/work
tar xf ../downloads/openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
export CC=aarch64-ca53-linux-gnu-gcc
export AR=aarch64-ca53-linux-gnu-ar
export RANLIB=aarch64-ca53-linux-gnu-ranlib
./Configure linux-aarch64 \
--prefix=$PREFIX --libdir=lib \
no-shared no-asm no-tests \
-march=armv8-a+crypto
make -j$(nproc)
make install_sw

4.2 Protobuf 3.21.12

ADB 使用 Protocol Buffers 作为序列化格式。需要编译两个版本:
a) 主机 protoc (代码生成器)
mkdir -p build/work/protobuf-host/build
cd build/work/protobuf-host/build

取消交叉编译环境变量

unset CC CXX AR AS LD STRIP NM OBJDUMP CROSS_COMPILE
export CC=gcc CXX=g++ AR=ar RANLIB=ranlib
cmake ../../protobuf-3.21.12/cmake \
-DCMAKE_INSTALL_PREFIX=$PWD/.. \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_PROTOC_BINARIES=ON \
-Dprotobuf_BUILD_LIBPROTOBUF=OFF \
-Dprotobuf_BUILD_LIBPROTOC=OFF
make -j$(nproc) protoc
make install
b) 目标 libprotobuf (静态库)
mkdir -p build/work/protobuf-3.21.12/build_aarch64
cd build/work/protobuf-3.21.12/build_aarch64
cmake ../../cmake \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DCMAKE_C_COMPILER=aarch64-ca53-linux-gnu-gcc \
-DCMAKE_CXX_COMPILER=aarch64-ca53-linux-gnu-g++ \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_PROTOC_BINARIES=OFF \
-Dprotobuf_WITH_ZLIB=OFF
make -j$(nproc)
make install

4.3 Brotli / LZ4 / Zstd / libusb

库名 版本 编译方式 输出
brotli 1.0.9 cmake + 静态库 libbrotli*-static.a
lz4 1.9.4 make lib liblz4.a
zstd 1.4.8 make lib-mt libzstd.a
libusb 1.0.24 configure + 静态 libusb-1.0.a
编译 brotli 示例:
mkdir -p build/work/brotli-1.0.9/build_aarch64 && cd $_
cmake .. \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DCMAKE_C_COMPILER=aarch64-ca53-linux-gnu-gcc \
-DCMAKE_CXX_COMPILER=aarch64-ca53-linux-gnu-g++ \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DBUILD_SHARED_LIBS=OFF
make -j$(nproc)
make install
编译 libusb 示例:
cd build/work/libusb-1.0.24
./configure --host=aarch64-ca53-linux-gnu \
--prefix=$PREFIX \
--enable-static --disable-shared \
--enable-udev=no --enable-examples=no
make -j$(nproc)
make install

4.4 libcap (可选)

libcap 提供 Linux capabilities 支持。可从 Debian arm64 包直接提取静态库:

下载 Debian arm64 libcap-dev 包

wget http://deb.debian.org/debian/pool/main/libc/libcap2/libcap-dev_2.66-5_arm64.deb
mkdir -p /tmp/libcap_extract && cd /tmp/libcap_extract
ar x ../libcap-dev_2.66-5_arm64.deb
tar xf data.tar.xz
cp usr/lib/aarch64-linux-gnu/libcap.a $PREFIX/lib/
cp -r usr/include/sys $PREFIX/include/

5. 源码修补与兼容层

5.1 Debian 补丁

Debian 源码包附带了针对 GCC 兼容性、架构适配等的一系列补丁,位于 debian/patches/series。应用方式:
cd src
while read patch; do
patch -p1 -N -r- < debian/patches/$patch
done < debian/patches/series

5.2 GCC 8.4 兼容性修复

GCC 8.4 不支持 C++20 特性,需要以下适配:
a) std::span 兼容层
GCC 8.4 的 头文件缺失。提供 build/work/span 兼容头:
// build/work/span - std::span C++17 backport
#ifndef_GLIBCXX_SPAN
// ... 提供 template class span { ... };
#endif
b) string_view 兼容补丁
GCC 8.4 的 std::string_view 没有 starts_with/ends_with 方法。提供 build/work/string_view_compat.h,在编译时通过 -include string_view_compat.h 全局注入。
// build/work/string_view_compat.h
#if__cplusplus < 202002L
namespace std {
inline bool starts_with(string_view sv, string_view prefix) {
return sv.substr(0, prefix.size()) == prefix;
}
// ... 类似实现 ends_with
}
#endif
c) 线程安全注解禁用
GCC 8.4 不支持 CLANG 的线程安全注解宏:
// build/work/thread_annotations_null.h
#defineTHREAD_ANNOTATION_ATTRIBUTE__(x)
#defineGUARDED_BY(x)
#defineREQUIRES(x)
#defineEXCLUDES(x)
#defineSCOPED_CAPABILITY
// ...
d) __attribute__((uninitialized)) ICE
GCC 8.4 在处理 __attribute__((uninitialized)) 与 VLA 时 Internal Compiler Error: expand_expr_real_1。移除该属性即可。

5.3 BoringSSL → OpenSSL 兼容层

ADB 源码使用 BoringSSL (Google 的 OpenSSL fork) API。需要提供兼容层:
bssl_compat.h
// build/work/bssl_compat.h
#include
#include
#include
#include
#include
#include
#include
namespace bssl {
template using UniquePtr = std::unique_ptr;
// 提供 BoringSSL 风格的 RAII 包装
}
// BoringSSL 类型别名
using CRYPTO_BUFFER = void;
using SSL_CREDENTIAL = void;
openssl_compat.h
// build/work/openssl_compat.h
// 提供 BoringSSL-only 函数: BN_le2bn, BN_bn2le_padded
#include
#include
static inline BIGNUM* BN_le2bn(const uint8_t* buf, size_t len, BIGNUM* bn) {
// OpenSSL 的 BN_lebin2bn
return BN_lebin2bn(buf, len, bn);
}
static inline int BN_bn2le_padded(uint8_t* out, size_t len, const BIGNUM* in) {
// OpenSSL 的 BN_bn2lebinpad
return BN_bn2lebinpad(in, out, len);
}

5.4 TLS 存根

ADB 支持 TLS 加密配对 (adb over WiFi)。嵌入式平台不启用此功能,提供空实现:
// build/work/tls_stubs.cpp
#include"tls/tls_connection.h"
namespace adb {
namespace tls {
std::unique_ptr TlsConnection::Create(
TlsRole, std::string_view, std::string_view,
int, const std::function&) {
return nullptr; // TLS not supported on embedded Linux
}
} // namespace tls
} // namespace adb

5.5 IPv6 → IPv4 回退

NT98336 内核未启用 IPv6,而 ADB 使用 AF_INET6 监听。修改 sysdeps/posix/network.cpp,添加 network_inaddr_any_server 实现,优先尝试 AF_INET (IPv4),失败后回退到 AF_INET6:
// src/packages/modules/adb/sysdeps/posix/network.cpp
int network_inaddr_any_server(int port, int type, std::string* error) {
for (bool ipv6 : {false, true}) {
unique_fd s(socket(ipv6 ? AF_INET6 : AF_INET, type, 0));
if (s == -1) {
if (errno != EAFNOSUPPORT) {
set_error(error);
return -1;
}
continue;
}
// setsockopt SO_REUSEADDR
// bind, listen
return s.release();
}
set_error(error);
return -1;
}

5.6 VSOCK 移除

NT98336 不支持 VM Sockets (AF_VSOCK)。修改 daemon/main.cpp,移除 vsock 监听地址,只保留 tcp:
// src/packages/modules/adb/daemon/main.cpp
// 修改前:
addrs.push_back("tcp:" + port);
addrs.push_back("vsock:" + port); // ← 删除
// 修改后:
addrs.push_back("tcp:" + port);

6. Android 支撑库编译

编译 ADB 依赖的 Android 基础库为静态库:
库名 源码路径 功能说明
liblog.a system/logging/liblog/ 日志输出、logcat 兼容
libbase.a system/libbase/ 文件 I/O、字符串、属性系统、错误处理
libcutils.a system/core/libcutils/ Socket 辅助函数、配置、哈希表
libcrypto_utils.a system/core/libcrypto_utils/ Android 公钥格式转换
编译 flags 说明:
BASE_CFLAGS="\
-D_GNU_SOURCE -DPLATFORM_TOOLS_VERSION='\"34.0.5\"' \
-DADB_HOST=0 -DADB_VERSION='\"1:34.0.5\"' \
-DPAGE_SIZE=4096 -DSSIZE_MAX=9223372036854775807L \
-DNDEBUG -UDEBUG -fPIC \
-fno-exceptions -fno-strict-aliasing"
CFLAGS="-std=gnu17 -D_Nonnull= -D_Nullable= -D_Null_unspecified= $BASE_CFLAGS"
CXXFLAGS="-std=gnu++17 -Wno-narrowing -include bssl_compat.h $BASE_CFLAGS"

7. ADB 公共库 (libadb.a)

libadb.a 包含 ADB 协议核心代码,被 adbd 和 adb 客户端使用。编译方式:

libadb.a 包含以下源文件:

$ADB_SRC/adb_unique_fd.cpp
$ADB_SRC/adb_utils.cpp
$ADB_SRC/fdevent/fdevent.cpp
$ADB_SRC/sysdeps/env.cpp
$ADB_SRC/sysdeps/errno.cpp
$ADB_SRC/sysdeps_unix.cpp
$ADB_SRC/sysdeps/posix/network.cpp
$ADB_SRC/fdevent/fdevent_epoll.cpp
$ADB_SRC/crypto/key.cpp
$ADB_SRC/crypto/rsa_2048_key.cpp
$ADB_SRC/crypto/x509_generator.cpp
$WORKDIR/tls_stubs.cpp
$ADB_SRC/proto/*.pb.cc (protobuf 生成)
$CORE_SRC/diagnose_usb/diagnose_usb.cpp

8. ADB 守护进程 (adbd)

adbd 源文件清单:
$ADB_SRC/adb.cpp

ADB 协议主循环

$ADB_SRC/adb_io.cpp

I/O 抽象

$ADB_SRC/adb_listeners.cpp

监听器管理

$ADB_SRC/adb_trace.cpp

调试跟踪

$ADB_SRC/services.cpp

ADB 服务框架

$ADB_SRC/sockets.cpp

Socket 抽象

$ADB_SRC/socket_spec.cpp

Socket 规格解析

$ADB_SRC/transport.cpp

传输层

$ADB_SRC/transport_fd.cpp

基于 fd 的传输

$ADB_SRC/types.cpp

类型定义

$ADB_SRC/daemon/main.cpp

入口 (已移除 VSOCK)

$ADB_SRC/daemon/transport_local.cpp

TCP 传输

$ADB_SRC/daemon/adb_wifi.cpp

WiFi (stub)

$ADB_SRC/daemon/auth.cpp

认证

$ADB_SRC/daemon/usb.cpp

USB 传输

$ADB_SRC/daemon/usb_ffs.cpp

USB FunctionFS

$ADB_SRC/daemon/jdwp_service.cpp

JDWP (stub)

$ADB_SRC/daemon/logging.cpp

日志

$ADB_SRC/daemon/file_sync_service.cpp

文件同步

$ADB_SRC/daemon/services.cpp

设备端服务

$ADB_SRC/daemon/shell_service.cpp

Shell 服务

$ADB_SRC/libs/adbconnection/*.cpp

ADB 连接

$CORE_SRC/libasyncio/AsyncIO.cpp

异步 I/O

$ADBD_AUTH_SRC/adbd_auth.cpp

认证框架

链接 adbd:
$CXX -o build/adbd build/obj/adbd/*.o \
build/libadb.a build/libbase.a build/libcutils.a \
build/liblog.a build/libcrypto_utils.a \
-Lbuild/sysroot/lib \
-lcrypto -lssl -lprotobuf \
-lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static \
-llz4 -lzstd -lusb-1.0 -lcap \
-lpthread -lresolv -ldl -lrt \
-pie -static-libstdc++ -static-libgcc \
-Wl,-Bstatic -latomic -Wl,-Bdynamic

9. 完整构建脚本

以下是完整的 build.sh 构建脚本。所有步骤已整合,运行一次即可完成编译。前提: build/downloads/ 目录下已放置所有依赖的源码压缩包。
前置依赖下载清单

下载以下源码到 build/downloads/

android-platform-tools_34.0.5.orig.tar.xz
android-platform-tools_34.0.5-1.debian.tar.xz
openssl-1.1.1w.tar.gz
protobuf-3.21.12.tar.gz
brotli-1.0.9.tar.gz
lz4-1.9.4.tar.gz
zstd-1.4.8.tar.gz
libusb-1.0.24.tar.bz2
libcap-dev_2.66-5_arm64.deb (可选)
运行构建
cd /path/to/adb_aarch64-ca53

首次编译前调整 TOPDIR 路径

vim build/build.sh

修改 TOPDIR 为实际路径

bash build/build.sh 2>&1 | tee build.log

成功输出:

[HH:MM:SS] === Build Complete ===

build/adbd: ELF 64-bit LSB pie executable, ARM aarch64

-rwxrwxr-x 6.4M build/adbd

10. 部署与运行

10.1 部署文件

部署 tarball 包含以下文件:
adbd-deploy.tar.gz
├── adbd

主二进制 (6.4 MB, stripped)

├── deploy.sh

部署脚本

├── adbd.service

systemd 服务文件

└── S50adbd

SysV init 脚本

解压到目标设备:

在 PC 上

scp adbd-deploy.tar.gz root@192.168.8.116:/tmp/

在设备上

cd /
tar xzf /tmp/adbd-deploy.tar.gz

或者手动复制

cp adbd /usr/bin/
chmod +x /usr/bin/adbd

10.2 运行命令

直接运行 (默认端口 5555)

/usr/bin/adbd

指定端口 (非 root 时用高位端口)

ADBD_PORT=15555 /usr/bin/adbd

调试模式

ADB_TRACE=transport ADBD_PORT=15555 /usr/bin/adbd 2>&1

后台运行

ADBD_PORT=15555 nohup /usr/bin/adbd > /dev/null 2>&1 &

10.3 验证方法

在设备上确认监听

netstat -tlnp | grep adbd

预期输出: tcp 0 0 0.0.0.0:15555 0.0.0.0:* LISTEN pid/adbd

在 PC 上连接

adb connect 192.168.8.116:15555
adb devices

预期输出:

List of devices attached

192.168.8.116:15555 device

测试 ADB 命令

adb -s 192.168.8.116:15555 shell ls /
adb -s 192.168.8.116:15555 push /etc/hosts /tmp/

11. 常见问题与排错

Q: bind() 失败,Address family not supported by protocol
目标内核未启用 IPv6。确保已应用 IPv6→IPv4 回退补丁 (见 5.5 节)。确认 build/obj/adbd 目录已清理后重新编译。
Q: libatomic.so.1: cannot open shared object file
目标系统缺少 libatomic。在链接时添加 -Wl,-Bstatic -latomic -Wl,-Bdynamic 将 libatomic 静态链接到 adbd。
Q: GLIBC_2.29 not found
目标系统的 glibc 版本过低。检查工具链 sysroot 的 glibc 版本: ${TC_PREFIX}-gcc --print-sysroot 找到 libc.so.6 并运行 strings libc.so.6 | grep GLIBC。目标需要 glibc >= 2.29 (工具链自带 2.30)。
Q: getentropy symbol not found
glibc 2.25 以下不支持 getentropy。需要目标 glibc >= 2.25。
Q: adbd starts but "cannot connect" from PC
检查:
1. netstat -tlnp 确认端口在监听
2. iptables -L -n 检查防火墙
3. ping 测试网络连通性
4. telnet/nc 测试端口连通性
Q: Protobuf compilation errors
确保 protoc 版本与 libprotobuf 版本一致 (均为 3.21.12)。protobuf 目标库编译时需加 -fPIC 以支持 PIE 链接。
Q: "already offline" in logs
这是 handle_new_connection 中的正常初始化流程,传输层会自动切换为 online 状态,无需处理。

12. 附录:关键文件清单

文件路径 说明
build/build.sh 完整构建脚本 (465 行)
build/work/bssl_compat.h BoringSSL → OpenSSL RAII 兼容层
build/work/openssl_compat.h BN_le2bn / BN_bn2le_padded 兼容函数
build/work/tls_stubs.cpp TLS 空实现存根
build/work/string_view_compat.h C++20 starts_with/ends_with 回退
build/work/thread_annotations_null.h 线程安全注解禁用
build/work/span std::span C++17 回退
src/debian/patches/series Debian 补丁清单
src/packages/modules/adb/sysdeps/posix/network.cpp IPv4 优先的 network_inaddr_any_server
src/packages/modules/adb/daemon/main.cpp adbd 入口 (已移除 VSOCK)
src/system/core/libcutils/socket_inaddr_any_server_unix.cpp 原始 IPv6-only 实现 (已回退)
build/adbd 最终二进制 (6.4 MB, stripped)
adbd-deploy.tar.gz 部署压缩包 (2.7 MB)

更多精彩推荐:

Android开发集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选从 AIDL 到 HIDL:跨语言 Binder 通信的自动化桥接与零拷贝回调优化全栈指南

C/C++编程精选

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选宏之双刃剑:C/C++ 预处理器宏的威力、陷阱与现代化演进全解

开源工场与工具集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选nlohmann/json:现代 C++ 开发者的 JSON 神器

MCU内核工坊

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选STM32:嵌入式世界的“瑞士军刀”——深度解析意法半导体32位MCU的架构演进、生态优势与全场景应用

拾光札记簿

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选周末遛娃好去处!黄河之巅畅享亲子欢乐时光

数智星河集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选被算法盯上的岗位:人工智能优先取代的十大职业深度解析与人类突围路径

Docker 容器

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选Docker 原理及使用注意事项(精要版)

linux开发集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选零拷贝之王:Linux splice() 全面深度解析与高性能实战指南

青衣染霜华

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选脑机接口:从瘫痪患者的“意念行走”到人类智能的下一次跃迁

QT开发记录-专栏

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选Qt 样式表(QSS)终极指南:打造媲美 Web 的精美原生界面

Web/webassembly技术情报局

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选WebAssembly 全栈透视:从应用开发到底层执行的完整技术链路与核心原理深度解析

数据库开发

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选ARM Linux 下 SQLite3 数据库使用全方位指南

鸿蒙开发全系列教程

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选掌握鸿蒙生态开发利器:ohpm 命令全解析与高效开发实战指南

具身智能时代:机器人开发全栈技术图谱与实战指南(2026版)

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选具身智能时代:机器人开发全栈技术图谱与实战指南(2026版)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 03:54:01 HTTP/2.0 GET : https://f.mffb.com.cn/a/500845.html
  2. 运行时间 : 0.098835s [ 吞吐率:10.12req/s ] 内存消耗:4,629.91kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=450989191d40ecde27c03f78021c2d60
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000744s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000839s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000482s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000289s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000628s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000612s ]
  8. SELECT * FROM `article` WHERE `id` = 500845 LIMIT 1 [ RunTime:0.000635s ]
  9. UPDATE `article` SET `lasttime` = 1783022042 WHERE `id` = 500845 [ RunTime:0.011124s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.001441s ]
  11. SELECT * FROM `article` WHERE `id` < 500845 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000603s ]
  12. SELECT * FROM `article` WHERE `id` > 500845 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000405s ]
  13. SELECT * FROM `article` WHERE `id` < 500845 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001975s ]
  14. SELECT * FROM `article` WHERE `id` < 500845 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001000s ]
  15. SELECT * FROM `article` WHERE `id` < 500845 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000865s ]
0.100616s