You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Sheng Wang <sh...@gmail.com> on 2014/05/14 08:44:24 UTC

How can I step through the Kafka code using a debugger

Hi,

I want to learn more about the Kafka code base. One of the easiest ways
that I can think of is to walk through the code with a debugger. Could
anyone tell how I can do that? Can I do it using any IDE?

Thanks!

-Sheng

Re: How can I step through the Kafka code using a debugger

Posted by Sheng Wang <sh...@gmail.com>.
Tim,

Thanks for the reply! I have followed the IDE setup instructions and tried
using IntelliJ to build Kafka.  I used java 1.7.0_55-b13 on Mac OS X
Mavericks. The "gradlew jar" commands etc. worked fine.  However, I cannot
use IntelliJ to build the project. I am using IntelliJ 13.1 to build the
project. Could anyone tell how I can solve this problem?

Thanks!

Information:Compilation completed with 38 errors and 7 warnings in 22 sec
Error:scalac: Error:
org.jetbrains.jps.incremental.scala.remote.ServerException
Error compiling sbt component 'compiler-interface-2.8.0.final-51.0'
at
sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$apply$2.apply(AnalyzingCompiler.scala:145)
at
sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$apply$2.apply(AnalyzingCompiler.scala:142)
at sbt.IO$.withTemporaryDirectory(IO.scala:285)
at
sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1.apply(AnalyzingCompiler.scala:142)
at
sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1.apply(AnalyzingCompiler.scala:139)
at sbt.IO$.withTemporaryDirectory(IO.scala:285)
at
sbt.compiler.AnalyzingCompiler$.compileSources(AnalyzingCompiler.scala:139)
at sbt.compiler.IC$.compileInterfaceJar(IncrementalCompiler.scala:33)
at
org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$.org$jetbrains$jps$incremental$scala$local$CompilerFactoryImpl$$getOrCompileInterfaceJar(CompilerFactoryImpl.scala:86)
at
org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:43)
at
org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:42)
at scala.Option.map(Option.scala:145)
at
org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.getScalac(CompilerFactoryImpl.scala:42)
at
org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.createCompiler(CompilerFactoryImpl.scala:21)
at
org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:23)
at
org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:23)
at
org.jetbrains.jps.incremental.scala.local.Cache$$anonfun$getOrUpdate$2.apply(Cache.scala:20)
at scala.Option.getOrElse(Option.scala:120)
at
org.jetbrains.jps.incremental.scala.local.Cache.getOrUpdate(Cache.scala:19)
at
org.jetbrains.jps.incremental.scala.local.CachingFactory.createCompiler(CachingFactory.scala:22)
at
org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:21)
at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:64)
at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:22)
at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319)
Warning:scalac:
/var/folders/k2/_ksrnkxx6p502x6sb3v4jsvh0000gp/T/sbt_8d7d63cd/CompilerInterface.scala:161:
error: object creation impossible, since method registerTopLevelSym in
trait GlobalCompat of type (sym: this.Symbol)Unit is not defined
Warning:scalac:  new Compiler() with RangePositions // unnecessary in 2.11
Warning:scalac:                             ^
Warning:scalac:
/var/folders/k2/_ksrnkxx6p502x6sb3v4jsvh0000gp/T/sbt_8d7d63cd/CompilerInterface.scala:165:
error: class Compiler needs to be abstract, since method
registerTopLevelSym in trait GlobalCompat of type (sym:
Compiler.this.Symbol)Unit is not defined
Warning:scalac:  class Compiler extends CallbackGlobal(command.settings,
dreporter, output)
Warning:scalac:               ^
Warning:scalac: two errors found
/Users/aaa/git/kafka2/core/src/main/scala/kafka/tools/KafkaMigrationTool.java
Error:(21, 30) java: package kafka.javaapi.producer does not exist
Error:(22, 22) java: package kafka.producer does not exist
Error:(23, 22) java: package kafka.producer does not exist
Error:(24, 19) java: cannot find symbol
  symbol:   class Utils
  location: package kafka.utils
Error:(303, 39) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.MigrationThread
Error:(310, 57) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.MigrationThread
Error:(366, 39) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(367, 19) java: cannot find symbol
  symbol:   class Producer
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(372, 13) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(374, 47) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(375, 27) java: cannot find symbol
  symbol:   class Producer
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(224, 27) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool
Error:(224, 103) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool
Error:(260, 9) java: cannot find symbol
  symbol:   class ProducerConfig
  location: class kafka.tools.KafkaMigrationTool
Error:(260, 48) java: cannot find symbol
  symbol:   class ProducerConfig
  location: class kafka.tools.KafkaMigrationTool
Error:(261, 9) java: cannot find symbol
  symbol:   class Producer
  location: class kafka.tools.KafkaMigrationTool
Error:(261, 33) java: cannot find symbol
  symbol:   class Producer
  location: class kafka.tools.KafkaMigrationTool
Error:(268, 67) java: cannot find symbol
  symbol:   variable Utils
  location: class kafka.tools.KafkaMigrationTool
Error:(339, 11) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.MigrationThread
Error:(339, 59) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.MigrationThread
Error:(372, 64) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
Error:(388, 11) java: cannot find symbol
  symbol:   class KeyedMessage
  location: class kafka.tools.KafkaMigrationTool.ProducerThread
/Users/aaa/git/kafka2/core/src/main/scala/kafka/javaapi/consumer/ConsumerConnector.java
Error:(23, 22) java: package kafka.consumer does not exist
Error:(24, 22) java: package kafka.consumer does not exist
Error:(25, 24) java: package kafka.serializer does not exist
Error:(38, 62) java: cannot find symbol
  symbol:   class Decoder
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(38, 85) java: cannot find symbol
  symbol:   class Decoder
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(37, 33) java: cannot find symbol
  symbol:   class KafkaStream
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(40, 27) java: cannot find symbol
  symbol:   class KafkaStream
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(54, 34) java: cannot find symbol
  symbol:   class TopicFilter
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(54, 75) java: cannot find symbol
  symbol:   class Decoder
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(54, 98) java: cannot find symbol
  symbol:   class Decoder
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(53, 21) java: cannot find symbol
  symbol:   class KafkaStream
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(56, 73) java: cannot find symbol
  symbol:   class TopicFilter
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(56, 15) java: cannot find symbol
  symbol:   class KafkaStream
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(58, 73) java: cannot find symbol
  symbol:   class TopicFilter
  location: interface kafka.javaapi.consumer.ConsumerConnector
Error:(58, 15) java: cannot find symbol
  symbol:   class KafkaStream
  location: interface kafka.javaapi.consumer.ConsumerConnector


On Wed, May 14, 2014 at 12:31 AM, Timothy Chen <tn...@gmail.com> wrote:

> Hi Sheng Wang,
>
> If you look at the Kafka website there is already a IDE setup page you
> can follow.
>
> Once your IDE is setup you can simply run Kafka via the Kafka main
> method and set breakpoints in the broker.
>
> Tim
>
> On Tue, May 13, 2014 at 11:44 PM, Sheng Wang <sh...@gmail.com>
> wrote:
> > Hi,
> >
> > I want to learn more about the Kafka code base. One of the easiest ways
> > that I can think of is to walk through the code with a debugger. Could
> > anyone tell how I can do that? Can I do it using any IDE?
> >
> > Thanks!
> >
> > -Sheng
>

Re: How can I step through the Kafka code using a debugger

Posted by Timothy Chen <tn...@gmail.com>.
Hi Sheng Wang,

If you look at the Kafka website there is already a IDE setup page you
can follow.

Once your IDE is setup you can simply run Kafka via the Kafka main
method and set breakpoints in the broker.

Tim

On Tue, May 13, 2014 at 11:44 PM, Sheng Wang <sh...@gmail.com> wrote:
> Hi,
>
> I want to learn more about the Kafka code base. One of the easiest ways
> that I can think of is to walk through the code with a debugger. Could
> anyone tell how I can do that? Can I do it using any IDE?
>
> Thanks!
>
> -Sheng