ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だけであり、Linux 環境でも動作します。

通常、プログラムをデバッグするときに printf を使用します。

Androidではlogcatを使います。ここではよく使われるデバッグ方法である、デバッグ書き込みファイルによるデバッグ方法を紹介します。

Android システムでは、C アプリケーションのデバッグは非常に不便です。ログの整合性を維持するために、ファイル デバッグ メソッドが重要な役割を果たします。次に例を示します。

#include <stdio.h>
ファイル * write_debug_file=NULL;
//デバッグ情報をファイルに書き込む void write_Debug_to_file(char *debug_log)
{
 if(write_debug_file==NULL)
 wirte_debug_file = fopen("debug.txt","wt");
 if(write_debug_file==NULL)
 戻る;
 fputs(debug_log、write_debug_file);
}
int メイン(void)
{
 整数 i ;
 char buf[100];
 (i = 0 ; i < 10 ; i++)の場合
 {
 sprintf(buf,"i:%d\n",i);
 //デバッグ情報を書き込む write_Debug_to_file(buf);
 }
 write_debug_file が NULL の場合
 fclose(write_debug_file);
 0 を返します。
}

実行結果:

debug.txt を開くと、次の内容が表示されます。

私:0
私:1
私:2
私:3
私:4
私:5
私:6
私:7
私:8
私:9

印刷されたデータはこのファイルに保存されます。コード セグメント内の任意の文をログに書き込んで、後で問題を分析することもできます。

これは非常に優れたデバッグ ツールです。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Java リモート デバッグ チュートリアル (Eclipse を例に)
  • C# でブレークポイントを使用してプログラムをデバッグする手順の詳細な説明
  • IOSはNSAssert()とNSParameterAssertを使用してプログラムをデバッグします
  • PDB ライブラリを使用して Python でプログラムをデバッグする
  • WiFiを使用してUbuntuをAndroidデバッグプログラムに接続する手順
  • Android 開発ノート: Logcat を使用してプログラムをデバッグする方法を 1 分で学ぶ
  • ASP でプログラムをデバッグするためのデバッグ クラス
  • bat を使用してシステム スクリプト デバッガーを削除する
  • asp:debug クラス デバッガー

<<:  モバイル端末での Vue2.x Picker のグローバル呼び出し実装

>>:  MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

推薦する

chkconfig および systemctl コマンドを使用して Linux サービスを有効または無効にする方法

これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...

MySQL ユーザー権限管理の実装

1. MySQL の権限の概要MySQL には、権限を制御する 4 つのテーブルがあります。user...

MySQLで日付を比較する方法の詳細な説明

データ型が datetime であるフィールド add_time を持つテーブル product が...

MySQLインデックスの作成について知っておくべきこと

目次序文: 1. インデックスメソッドを作成する2. インデックスを作成するために必要な権限序文: ...

MySQL: MySQL 関数

1. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...

純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

目次まず、双方向バインディングを実装するアイデアについて説明します。これらの機能を実装するための j...

MySQL の current_timestamp の落とし穴とその解決策を共有する

目次MySQL の current_timestamp の落とし穴エラーを報告する私の解決策mysq...

包括的なウェブサイト評価ソリューション

<br />「XXXのウェブサイトを見てみませんか?」といった質問をされることもあります...

mysql8.0.23 msi インストールの超詳細なチュートリアル

1.MySqlをダウンロードしてインストールする公式ウェブサイトからMySqlデータベースをダウンロ...

MySQLでよく使われる4つのストレージエンジンについて簡単に説明します。

よく使われる4つのMySQLエンジンの紹介(1):MyISAMストレージエンジン:トランザクションや...

Linux で Redis のリモート接続を実装する方法

LinuxにRedisをインストールしたら、Javaを使って接続します。Javaコードは次のとおりで...

CSSアニメーションに基づくSVGボタンのサンプルコード

具体的なコードは次のとおりです。 <a href="#"> <...

JavaScript は自由に移動するウィンドウのマウス制御を実装します

この記事では、フリーウィンドウのマウス制御を実現するためのJavaScriptの具体的なコードを参考...

Macでのファイル権限の表示と設定の詳細な説明

序文Mac システムのターミナルでファイルの権限を変更するには、Linux の chmod コマンド...

Kubernetes コントローラーとラベルの簡単な分析

目次01 k8sの一般的なコントローラーRCコントローラーデプロイメント コントローラーステートフル...