私は、JavaコードではなくScalaコードをデバッグするとき、デバッガ(Intellij IDEA + Scalaプラグイン)とどのような違いがあるのか疑問に思っています。私の理解では、デバッガは言語と密接に結びついています。つまり、JavaデバッガはScalaコードを処理できませんが、デバッガが行うバイトコードである限り、JVMが注目されています。右 ?デバッガとは違い、私はデバッグしているScalaコードですか?
重要なアップデート:問題は、バイトコードデバッガがScalaをどのように制限しているかの例を示すことでした。ブレークポイントに達して次の行に行きたくないと思うが、デバッガでアプリケーションのコンテキストでScala式を評価したい(例えばシングルトンオブジェクトから演算子メソッドを呼びたい)。デバッガは、Scalaを理解できないために立ち往生しています。私は自分自身で変換を行い、その結果のJavaをデバッガに入力する必要があります。 問題は、「ブレークポイントのもの」だけがバイトコードレベルで処理できることです。あなたは式を時計の下に置いておきたいのですが?デバッガは、監視された式を評価するためにScalaを理解する必要があります。今回は、私が正しいと確信しています。復讐は私のものです、ご主人様Saith :-)
これは当てはまりますが、Scalaコードの1行には通常より多くのステップが含まれているため、Scalaには難題があります。ラインレベルのデバッグScalaはJavaのラインレベルのデバッグよりもはるかに便利ですこれは、各行でより特異な動作をする傾向があります。 EPFLには、特別なScalaデバッガをサポートするために、Scalaが生成したクラスファイルに追加のデバッグ情報を追加する人がいます。 –
各行を可能な限り単純にするためのもう一つの議論と、間違いなく1行にたくさんのたわごとを置くことに対する絶対的な議論です。 –
@mP申し訳ありませんが、ツールの欠点は、特定のスタイルのコードの "議論"として数えられるはずです。 –