haskell - 如何在堆栈跟踪(haskell)中获取行号?
问题描述
我已经尝试了几乎所有我能找到的远程相关命令行标志,虽然我已经能够获得堆栈跟踪,但没有什么可以给我行号。我忽略了什么吗?
解决方案
HasCallStack 是要走的路:
{-# LANGUAGE FlexibleContexts #-}
import GHC.Stack
import GHC.Stack.Types
main :: HasCallStack => IO ()
main = putStrLn ((\(PushCallStack _ loc _) -> show (srcLocStartLine loc)) callStack)
% ./main
7
推荐阅读
- django - 在 CreateWithInlinesView 中,将数据库值中的所有 7 个额外表单保存为默认(表单集)Django
- css - 多个 css 类是否可以在 Outlook 桌面客户端最新版(2019 或 Microsoft 365)中使用?
- webgl - Cypress gpu_init.cc(441) passthrough 不支持 GL 是 Swiftshader
- discord - 我不断收到此错误 [CLIENT_MISSING_INTENTS]:必须提供有效的意图
- arrays - 使用嵌套填充创建二维字符串数组
- azure - 部署时如何发送包含在 Azure DevOps 管道上完成的任务的电子邮件?
- java - 下载一个 Maven 依赖项时出现问题
- android - 使用 Jetpack compose 按钮打开相机
- vue.js - 如何根据从服务器端接收到的数据来改变滑块的图像
- typo3 - Typo3 tx_news eventnews:location_simple 和 Organizer_simple