dosdebug - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド dosdebug です。

プログラム:

NAME


dosemu.bin、dosdebug - Linux 上で DOS および DOS プログラムを実行します。

SYNOPSIS


ドセム.bin [ -234ABCcdKkmNnOpSstVwX ] [ -h レベル ] [ -F file ] [ --定着器 file ] [
--フリブディル ディレクトリにジョブを開始します。 ] [ --フィマジェディル ディレクトリにジョブを開始します。 ] [ -f file ] [ -L dexfile ] [ -u confvar ]
[ -D フラグ ] [ -M サイズ ] [ -e サイズ ] [ -x サイズ ] [ -P file ] [ -o file ] [ 2> デバッグファイル ]
[ -I 設定オプション ] [ -i[ブートディレクトリ] ] [ -U インパイプ[:アウトパイプ] ] [ [-E] DOSコマンド ]

ドスデバッグ

DESCRIPTION


ドセム.bin スクリプトによってラップされたバイナリです 線量 (1) Linux dos を呼び出します。
エミュレータ、別名 ドセム.
デバッグファイル すべてのデバッグ出力がリダイレクトされるオプションのファイルです。

ドスデバッグ すでに実行中のシステムを制御またはデバッグするために使用されます。 ドセム.

このプログラムは DOS として知られていますが、 エミュレータ、 これは実際には仮想マシンです
DOS。DOS および DOS 用に作成されたプログラムを、DOS と同様の環境で動作できるようにします。
標準の IBM PC/AT、またはリアル モードの Intel 80x86 プロセッサと互換性があります。 ドセム
BIOS ビデオ、ディスク、キーボード、シリアル、プリンターなどのサービスのエミュレーションを提供します。
構成情報用の CMOS メモリ。 リアルタイムクロック。 によるメモリ割り当て
XMS 3.0 仕様、EMS 4.0、および DPMI 0.9。

なぜなら ドセム これは実際には DOS エミュレータではないため、FreeDos のコピーが必要です。
事前設定されており、公式 DOSEMU バイナリ配布の一部です。 さらに任意の
現在入手可能な独自の DOS (MS-DOS、PC-DOS、DR-DOS など) は、次の場合に起動できます。
正しく設定されています。

カーネル 募集要項


現時点では、SYSV IPC オプション (System V Inter-
プロセス通信機能については、「プロセス通信機能」を参照してください。 IPC(2)) をコンパイルしました。 SYSV IPC は、
Linux カーネルのコンパイル中の構成セットアップ。

OPTIONS


-2,3,4,5
シミュレートする 286、386、486、または 586 プロセッサを選択します。

-A フロッピー ディスク A から起動します (実際のフロッピー ディスクである必要はありません。以下を参照)

-B フロッピー ディスク B から起動します (実際のフロッピー ディスクである必要はありません。以下を参照)

-C ハードディスク C から起動します (実際のハードディスクや msdos である必要はありません)
ファイルシステム、以下を参照)

-c 直接コンソール ビデオを使用します (コンソールにある必要があり、特別な権限が必要で、
-s ).

-d 現在の仮想コンソールまたは tty から切り離し、最初の空き仮想コンソールに接続します
コンソール

[-E] DOSコマンド
DOSEMU の起動時に DOS コマンドを実行し、「-E」が指定されていない場合は、その後 DOSEMU を終了します。
コマンドを実行しています。 このコマンドには Linux パスを指定することもできます (たとえば、
/home/joeuser/dosemu/freedos/bin/xcopy.exe)。 注: これは次の場合にのみ機能します。
autoexec.bat には「unix -e」コマンドが含まれています。

-k RAW コンソール キーボードを使用します (コンソールにある必要があります)

-F 組み込みの global.conf ファイルの代わりに、この構成スクリプトを解析します (実行する必要があります)
この場合は、suid DOSEMU の root として実行します)

--定着器
dosemu.users をバイパスし、代わりにこのファイルを使用します (次の場合にのみ受け入れられます) ドセム.bin is
スイドルート)。

--フリブディル
デフォルトの DOSEMU_LIB_DIR (dosemu.users で定義されている可能性があります) をバイパスし、これを使用します。
代わりにディレクトリを使用します。

--フィマジェディル
ブートディレクトリとhdimagesのデフォルトディレクトリをバイパスします(DOSEMU_HDIMAGE_DIR)
代わりにこのディレクトリを使用してください。

-f .dosemurc の代わりにこの設定ファイルを解析します

-n dosemu.users および dosemu.conf をバイパス (使用しない) (次の場合にのみ受け入れられます) ドセム.bin is
スイドルート)。

-u ユーザー構成変数を設定します。 アン u_ 名前を避けるために名前の前に付けられます
衝突する。 この変数は、dosemu.conf または global.conf でチェックして、何らかの処理を行うことができます。
特別な構成。

-L DEXE ファイルをロードして開始します (
XNUMX つの DOS アプリケーション)

-I 背後にある文字列を解析する -I global.conf または .dosemurc と同じ構文を使用します。

dos ... -I 'ビデオ { mda }'

これは、特定の構成パラメータをオーバーライドしたい場合に便利です。
一時的。 次のようなスクリプトを実行して、一般的な設定を行うこともできます。

dos ... -I "`myconf.sh`"

コラボレー myconf.sh 構成を標準出力に書き込むスクリプトです。 持っている場合は、
.dosrc 以外の代替構成ファイル、

dos ... -I "`cat myother.conf`"

仕事をするだろう。 ただし、後ろのパラメータを引用符で囲む必要があることに注意してください。 -I
そうなると予想されるから XNUMXつ 引数。

-i[ブートディレクトリ]
システム全体のインストールの一部として起動される場合、このオプションは、DOS を (再) インストールします。
DOSEMU で使用されます (これは、DOSEMU 配布の FreeDOS または任意の独自の
DOS、fatfs経由で起動可能)。 ブートディレクトリ ディレクトリのベース名です。 の
シンボリックリンク ~/.dosemu/ドライブ/c このディレクトリを指すように変更されます。 再
実際にはシンボリック リンクがインストールされるため、インストールが必要になることはほとんどありません。
更新されたファイルを自動的にポイントします。

-D どのデバッグ メッセージを許可/抑制するかを指定します

-h 設定を標準エラー出力にダンプして終了します (暗黙的に -D+c を設定します)。 これは次のような場合に便利です
デバッグ設定ファイルを使用する必要があります。 -O +c タイプのメッセージを送信する場合も
標準エラーへ。 「レベル」は 0、1、または 2 で、構成パーサーの量を制御します。
デバッグ出力: パーサーなしデバッグ (0)、パーサー ループ デバッグ (1)、if_else_endif デバッグ (2)。

-H dosdebug サポート フラグを指定します。現在は「1」のみが妥当です。 と -H1
dosdebug ターミナルが接続されるまで、dosemu を強制的に待機させます。 したがってデバッグするために
最初から DOS セッションを実行するには、最初に -H1 を指定して dososemu を起動し、次に
dosdebugを開始します。 DOSEMU は、ロードされたブートセクターにジャンプする前にロックします。
dosdebug が接続するのを待っています。 接続すると「停止」状態になり、
ブレークポイントを設定するか、ブートストラップ コードをシングル ステップで実行します。

-M ベースメモリを SIZE キロバイトに設定します

-m 内部マウスサポートの切り替え

-O デバッグ メッセージの出力に stderr を使用する

-o このファイルをデバッグ メッセージの出力に使用します

-P デバッグ出力をファイルにコピー

-p 致命的ではない構成上の問題が検出された場合にプロンプ​​トを表示するために停止します

-S SDLを使用して実行する

-s スーパーユーザー/フル機能モード: ハードウェアへの直接アクセスを有効にします。 このスイッチは次の場合に使用します。
コンソールでグラフィックスを使用したい、直接ポート アクセスが必要、ハードウェアが必要
割り込みまたは生のネットワーク アクセス。 示す -V および -k デフォルトでは

警告: このスイッチには ROOT、SUID-ROOT、または SUDO が必要です。 ハードウェアに直接アクセスできるようにする
TO DOS プログラムにより、コンピュータをロックしたり、(まれに) 機能が与えられる場合があります。
ケース)ハードウェアに損傷を与える場合も。 このタイプのサービスは、信頼できるローカル ユーザーのみに提供してください。
アクセス。

-t ターミナルモード: S-Lang ライブラリを使用して実行

-U 非同期制御用のインパイプとアウトパイプを定義します。 ドセム 別のプロセスから。
形式は次のとおりです (間に空白は含まれません)

インパイプ:アウトパイプ

ここで、`:outpipe' は省略できます。 後者の場合、フィードバックはありません ドセム することができます
期待した。

セキュリティ上の理由から ドセム 名前付きパイプ自体は作成されないため、ユーザーは
パイプの権限を正しく設定する責任があります。 使用する際の注意点
このオプションを使用すると、外部プロセスがユーザーを制御できます。 ドセム セッション(入力など)
キーストローク)。 したがって、このオプションはフロントエンド (kdos など) でのみ使用する必要があります。
これは、最初に適切な名前付きパイプを作成してから起動します。 ドセム。 特別
制御コマンド( ACK on ) を強制的に使用できます ドセム ハンドシェイクタグを返す
フロントエンドが制御コマンドがいつ開始されたかを認識するための「outpipe」、または
完了したのか、成功したかどうか。 このタグ付けの形式は次のとおりです。

SYN:



ACK: コード=n

コラボレー n 成功の場合は 0 です。 例として使用できる小さな制御端末は次のとおりです。
供給 ドキュメント プログラム。 引数として XNUMX つのパイプだけを受け取ります。
次に制御コマンドを入力します。そのうちの「ヘルプ」が最も重要です;-) 注
それ ドキュメント 起動しない ドセム、 自分でやらなければなりません。

-V VGA グラフィックスで直接コンソール ビデオを使用し、ネイティブ グラフィックス カードの BIOS を使用します。
(コンソールにいる必要があり、特別な権限が必要です。 -s ).

-w X でウィンドウ/フルスクリーン モードを切り替える

-X X ウィンドウで実行する

ハード ディスク


ドセム は、ハードディスクを DOS に提​​供する XNUMX つの方法をサポートしています。

1. ハードドライブをエミュレートする Linux ファイルシステム上に存在する仮想ディスク ファイル。

2. raw ディスクデバイス (つまり、/dev/hda、
/dev/hdb、/dev/sdX)。

3. 単一パーティション アクセスによる DOS パーティションへの直接アクセス (つまり、/dev/hda1、
/dev/hdb2、/dev/sdxx)。

4. ドライバーemufs.sysを使用して、「ネットワーク」ドライブとしてLinuxファイルシステムにアクセスします。
付属 ドセム コマンド/emufs.sys または lredir.exe 内。

の構成 ドセムさん ハードディスクリソースは編集によって行われます ドセム.conf or .dosemurc
実行する前に ドセム。 /usr/share/doc/dosemu/README.txt を見てください。

フロッピー ディスク


ドセム は、フロッピー ディスクを DOS に提​​供する XNUMX つの方法をサポートしています。

1. フロッピー ドライブをエミュレートする Linux ファイルシステム上に存在する仮想ディスク ファイル

2. raw ディスク デバイス (つまり、/dev/fd0、
/dev/fd1)。

これについては、こちらでも詳しく説明しています README.txt。

の構成 ドセムさん フロッピー ディスク リソースは、 ドセム.conf
ランニング ドセム.

VIDEO


ドセム 任意の tty デバイス上で実行できます。 ただし、パフォーマンスと機能が向上する可能性があります。
Linux コンソールの特別な機能を利用して実行できます。 走っている人たち ドセム
コンソール上で調査したい場合があります。 -NS、 -k、 および -V スイッチ、さらに詳しく説明
徹底的に README.txt。 ファイルには非常に簡単なドキュメントも含まれています
dosemu.conf、必要に応じて編集できます。

簡単に言えば、コンソール デバイスと対応するスイッチを適切に使用すると、ユーザーは
周期的な画面を表示せずに、DOS プログラムを元の色とフォントで表示する
一般的な tty 出力コードに関する問題を更新します。

キーボード


使用しているもの ドセム Linux コンソールでは、RAW キーボード サポートを使用することもできます。
この動作モードは、 -k スイッチ、ユーザーにアクセスを提供します。
DOS ではキーボード全体がアクセス可能です。 ALT、CTRL、SHIFT キーの任意の組み合わせが可能です。
多くの DOS プログラムで予期される奇妙なキーコードを生成するために使用されます。

印刷


BIOS プリンタ サービスは、一時的なものではありますが、標準の UNIX ファイル I/O を通じてエミュレートされます。
ファイルは、定義に従って、LPR または別の印刷クライアントによって定期的にスプールされます。
dosemu.conf の $_printer_commands によって。

DEBUG メッセージ


デバッグ メッセージは、コマンド ラインまたは構成ファイルで制御できます。
付属の config.dist ファイル内のドキュメントを参照してください。 ドセム セクションに
サンプルのサブディレクトリ (デバッグ オプション用)。 コマンドラインで、次のいずれかを指定できます。
希望するメッセージのクラス ドス 許可すること。 これの構文は次のとおりです ドセム オプションを取る
「-D FLAGS」。FLAGS は、印刷するオプションを指定する文字列です。
抑制する。 ドセム この文字列を左から右に解析します。

+ 以下のオプションをオンにします (初期状態)
- 次のオプションをオフにします
a はフラグに応じてすべてのオプションをオン/オフにします
0 はすべてのオプションをオフにします
1 ~ 9 はデバッグ レベルを設定します。高いほど出力が増加します。
# ここで # は有効なクラス リストの文字です。
に応じてそのオプションをオフ/オンにします。
+/- 状態。

メッセージ クラスの一覧:

d ディスク R ディスク読み取り W ディスク書き込み
D int 21h C cdrom v ビデオ
XX サポート k キーボード i ポート I/O
s シリアル m マウス # デフォルトの整数
p プリンタ g 一般的な c 設定
w 警告 h ハードウェア I IPC
E EMS x XMS M DPMI
n IPX ネットワーク P パケットドライバー S サウンド
r PIC T IO トレーシング Z PCI-BIOS
A ASPIドライバー Q マッピングドライバー

に続くデバッグ クラス + 文字、最大 - キャラクター、オンになります
(非抑制)。 以降のいずれか - 文字、最大 + 文字は抑制されます。 の
文字 a 可能なすべてのデバッグ クラスの文字列のように動作するため、 +a すべてをオンにする
デバッグメッセージ、および -a すべてのデバッグ メッセージをオフにします。 キャラクター 0 および 1-9  
また特別です: 0 すべてのデバッグ メッセージをオフにし、 1-9 すべてのデバッグ メッセージをオンにします。
ただし、デバッグレベルも設定します。

想定があります + FLAGS 文字列の先頭にあります。 エラーなどの一部のクラス
オフにすることはできません。 標準エラー出力をリダイレクトしなかった場合、ほぼすべての出力が標準エラー出力に出力されます。
に行きます / dev / null。

いくつかの例:
「-D+av」または「-D1-v」: ビデオを除くすべてのメッセージ
"-D+kd" : デフォルト + キーボードとディスク
"-D0+RW" : ディスクの読み取りと書き込みのみ

任意のオプション文字をどこにでも使用できます。 無意味な組み合わせでも、
-D01-a-1+0、 エラーなく解析されるので注意してください。 いくつかのオプションはデフォルトで設定されていますが、
いくつかは明らかです。 これは私の気まぐれに左右されるため、リリースごとに変更される可能性があります。
常に明示的に指定することで、どれが設定されているかを確認できます。

特殊 キー


RAW キーボード モード (「 -k オプション)、 ドセム 特定のキー シーケンスに次のように応答します。
制御機能。

ctrl-scrlock = 0x32 int ベクトルを表示
alt-scrlock = vm86 レジスタを表示
rshift-scrlock = int8 (タイマー) を生成します
lshift-scrlock = int9 (キーボード) を生成します
ctrl-break = DOS と同様に ctrl-break。
ctrl-alt-pgup = DOS を再起動します。 これは信用しないでください!
ctrl-alt-pgdn = エミュレータを終了します

使用- - 別の仮想コンソールに切り替えます。

MEMORY


XMS メモリのサポート ドセム Lotus/Intel/Microsoft/AST拡張メモリに準拠
仕様3.0。 関数 0x12 (再割り当て) を除くすべての XMS 関数を実装しました。
上部メモリブロック)。

ドセム EMS 4.0 もサポートし、DPMI 0.9 (部分的に 1.0) を実装します。

onworks.net サービスを使用してオンラインで dosdebug を使用する



最新のLinuxおよびWindowsオンラインプログラム