# Source: https://github.com/jina-ai/jina/blob/master/docs/concepts/serving/executor/hub/debug-executor.md(debug-executor)=# Debug````{admonition} Not applicable to containerized Executors:class: cautionThis does not work for containerized Executors.````In this tutorial you will learn how to debug [Hello Executor](https://cloud.jina.ai/executor/9o9yjq1q) step by step.````{admonition} Make sure the schemas are known:class: noteWhile using docarray>0.30.0, Executors do not have a fix schema and each Executor defines its own. Make sure you knowthose schemas when using Executors from the Hub.````## Pull the ExecutorPull the source code of the Executor you want to debug:````{tab} via Command Line Interface```shelljina hub pull jinaai://jina-ai/Hello```````````{tab} via Python code```pythonfrom jina import ExecutorExecutor.from_hub('jinaai://jina-ai/Hello')```````## Set breakpointsIn the `~/.jina-serve/hub-package` directory there is one subdirectory for each Executor that you pulled, named by the Executor ID. You can find the Executor's source files in this directory.Once you locate the source, you can set the breakpoints as you always do.## Debug your codeYou can debug your Executor like any Python code. You can either use the Executor on its own or inside a Deployment:````{tab} Executor on its own```pythonfrom jina import Executorexec = Executor.from_hub('jinaai://jina-ai/Hello')# Set breakpoint as neededexec.foo()```````````{tab} Executor inside a Deployment```pythonfrom jina import Deploymentfrom docarray.documents.legacy import LegacyDocumentdep = Deployment(uses='jinaai://jina-ai/Hello')with dep:    res = dep.post('/', inputs=LegacyDocument(text='hello'), return_results=True)    print(res)```````