質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

解決済

1回答

912閲覧

IDEを用いずに、classファイルをデバッグできない。

Eisaku_Yoshida

総合スコア11

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

0クリップ

投稿2020/11/25 03:12

javac -gオプション javaファイルでデバッグ情報ありのclassファイルを作成。(※testディレクトリ以下そのクラスファイルは格納されています。)
そのクラスファイルに対して、
jdb メインクラスのあるクラスファイル

runで、コマンドを実行。

そうすると、
イメージ説明

「ERROR: transport error 202: gethostbyname: unknown host」で検索をかけると、
リンク内容
【上記のサイトの一部抜粋】
The jvm is trying to open the dt_socket at host Patricks-iMac.local, port 50547 but needs first to resolve that host name to an IP address. DNS lookup will fail since it's a dummy hostname assigned to a private address and DNS servers usually don't know about them unless a sysadmin has configured them (companies use to do that). There are two solutions for this:

※上記の英語の文章の意味を理解できていません。(DNSとかの基礎知識がそもそも不足している為です。)
dt_socket/Patricks-iMac.local/port 50547が規定されているファイルどこにあるのか?
→調べても出てきませんでした。

●Answerとして、提示されていた2つの方法です。↓

  1. Add the hostname mapping on hosts file keeping other names configured for that IP

127.0.0.1 localhost Patricks-iMac.local

※ちなみに、今、私のPCの/etc/hostsファイルの内容は、以下の通りです。
イメージ説明

  1. Configure the dt_socket by IP address without touching hosts file (recommended)

-Xrunjdwp:transport=dt_socket,address=127.0.0.1:50547

2)のrecommendedの方の対応を実施。(ルートディレクトリのファイルをいじりたくなかった為。)
イメージ説明
→エラーになる。

そもそも、デバッグをする際に、
java -Xrunjdwp:transport=dt_socket,address=127.0.0.1:50547 Mainという感じで、
javaコマンドで実行するのか、
jdb→runの流れで、実行するのかよくわかっていません。
どちらの方法でも実行可能ということでしょうか?


【私の環境】
macOS Big Sur バージョン11.0.1
Macbook pro 16 inch
【Java/javacのバージョン】
イメージ説明---

どなたか知見のお持ちの方がいらっしゃったら、
ご教授お願いできませんでしょうか?
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jdbでRUNする時にコンパイラ引数でaddressを渡す必要があるのではないかと思います。

そもそもプログラムが何をやっているのかわからないのでソースコードを載せてもらえないとコメントしづらいかと思います。
ソースコードの無いプログラムを動かしてる場合はjadなどでコンパイルすると良いです。

投稿2020/11/27 04:00

rysh

総合スコア874

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Eisaku_Yoshida

2020/12/28 03:24

申し訳ございません。 返信が遅くなりました。。 これからは、ソースコードも載せるようにいたします。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問