简体   繁体   中英

why breakpoint in `Project.application` function of `mix.exs` is useless?

In mix.exs file of vscode, I set breakpoint in line of mod: {KV.Application, []}, # breakpoint here .

When starting debugging, it has been ignored. Why?

defmodule KV.MixProject do
  use Mix.Project
  #use Application

  def project do
    [
      app: :kv,
      version: "0.1.0",
      elixir: "~> 1.13",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do

    [
      # mod:{KV,[]},
      # mod: {KV, []},
      mod: {KV.Application, []},  # breakpoint here
      extra_applications: [:logger]
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      # {:dep_from_hexpm, "~> 0.3.0"},
      # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
    ]
  end
end

mix.exs is a build configuration script, which is parsed by mix during compile time.

Breakpoints in VSCode are UI to IEx.Pry which is the runtime beast .

That said, breakpoints make sense during the runtime only, in compiled sources, while mix.exs is a compile-time configuration script, which has nothing to do with runtime.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM