---
code: ios_sdk_debug
name: "实时调试"
wikiToken: NLwVwFyvIiNVnGk2iPmcI3sQnsd
parentWikiToken: T7Ocw5qr7is1Z5k0P6VcZVSKnDd
updateTime: 1762843111000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=ios_sdk_debug
---
# 实时调试

在SDK接入过程中，您可以通过查看 SDK 在 IDE 控制台中的日志或者使用 AE 的 Debug 功能，进行实时调试。

### 一、 打印SDK日志

:::: el-tabs

::: el-tab-pane label=Objective-C

```
[TDAnalytics enableLog:**YES**];
```

:::

::: el-tab-pane label=Swift

```
TDAnalytics.enableLog(**true**)
```

:::

::::

<!-- unsupported block: 34 -->

打开日志后，可以在IDE中过滤 ThinkingData 相关的日志来观察 SDK 的数据上报。

### 二、 开启 Debug 模式

开启Debug模式需要如下两步操作:

1. 客户端开启Debug模式
以下是客户端开启Debug模式的示例代码:

:::: el-tabs

::: el-tab-pane label=Objective-C

```
NSString *appid = @"appId";
NSString *url = @"https://receiver-ta-preview.thinkingdata.cn";
TDConfig *config = [[TDConfig alloc] init];
config.appid = appid;
config.serverUrl = url;
/*
设置运行模式为 Debug 模式
Normal模式:数据会存入缓存，并依据一定的缓存策略上报,默认为normal模式；建议在线上环境使用
Debug模式:数据逐条上报。当出现问题时会以日志和异常的方式提示用户；不建议在线上环境使用
DebugOnly模式:只对数据做校验，不会入库；不建议在线上环境使用
 */
config.mode = TDModeDebug;
[TDAnalytics startAnalyticsWithConfig:config];
```

:::

::: el-tab-pane label=Swift

```
let appid = "APPID";
let url = "SERVER_URL";
let config = TDConfig(appId: appid, serverUrl: url)
config.mode = TDMode.debug
TDAnalytics.start(with: config)
```

:::

::::

1. TE后台添加Debug设备
为了避免 Debug 模式在生产环境上线，只有指定的设备才能开启 Debug 模式。只有在客户端开启了 Debug 模式，并且设备 ID 在 AE 后台的"埋点管理"页的"Debug 数据"板块中配置了的设备才能开启 Debug 模式。

设备 ID 可以通过以下三种方式获取：

- AE 平台中事件数据中的 #device_id 属性
- 客户端日志：SDK 初始化完成后会打印设备 DeviceId
- 通过实例接口调用：获取设备ID
<!-- unsupported block: 34 -->

Debug 模式可能会影响数据采集质量和 App 的稳定性，只用于集成阶段数据验证，不要在线上环境使用。
