【问题标题】:exit-status-3221225477-in-terminal-in-golang退出状态-3221225477-in-terminal-in-golang
【发布时间】:2020-05-07 08:55:01
【问题描述】:

当我尝试运行以下 golang 代码时,终端中的输出是“退出状态 3221225477”。然后程序关闭。我正在使用 fyne GUI 包。你能帮我解决这个问题吗? 主包

import (
"net/url"
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/layout"
"fyne.io/fyne/theme"
"fyne.io/fyne/widget"
)

func main() {
app := app.New()
app.Settings().SetTheme(theme.LightTheme())
entry := widget.NewEntry()
entry.SetText("Path")

w := app.NewWindow("Hello")

link, err := url.Parse("https://www.inovatian.com/")
if err != nil {
fyne.LogError("Could not parse URL", err)
}

w.SetContent(widget.NewVBox(
widget.NewLabelWithStyle("Welcome to Inovatian App", 
fyne.TextAlignCenter, fyne.TextStyle{Bold: true}),
layout.NewSpacer(),

widget.NewHyperlinkWithStyle("inovatian", link, fyne.TextAlignCenter, 
fyne.TextStyle{}),
layout.NewSpacer(),

widget.NewGroup("",
    fyne.NewContainerWithLayout(layout.NewGridLayout(2),
        widget.NewButton("Next", func() {
            app.Quit()
        }),
        widget.NewButton("Cancel", func() {
            app.Quit()
        }),
      ),
    ),
))
w.CenterOnScreen()
w.Resize(fyne.NewSize(240, 180))
w.ShowAndRun()
}

【问题讨论】:

  • 没有打印其他错误吗?退出代码上方是否有任何堆栈跟踪或失败信息?

标签: windows go


【解决方案1】:

适用于 ubuntu(下面的屏幕截图)。

根据this,十六进制的返回值3221225477是0xC0000005或STATUS_ACCESS_VIOLATION,报告为“无效的内存地址或nil指针取消引用”。 所以这可能是 Fyne GUI 库的 windows 版本的问题。

This Fyne issue might be related.

【讨论】:

  • 感谢您的回复,但在我的窗口中它不起作用!
  • 跟随 fyne 问题链接并通读它:看起来这是一个 Windows 操作系统和/或驱动程序错误。您可以安装不同的 Windows 驱动程序(或使用不同的显卡)来解决它。
  • 我可以确认它适用于我的 Windows 10,所以不是代码有问题。我认为 Mark 可能是对的,这是您的 Windows 图形驱动程序。
【解决方案2】:

您的源代码也可以在 macOS Mojave 上正常运行。

不过,我收到警告说“NSOpenGLContext”已在 macOS 10.14 中明确标记为已弃用。 (这不应该出现在 Windows 中。)

正如马克所说,返回值3221225477的十六进制是0xC0000005(“访问冲突”),这表明你的程序已经异常终止或崩溃了。

【讨论】:

  • 不推荐使用的警告随着目前在“开发”分支上的 1.3 版本而消失 :)
猜你喜欢
  • 2021-05-30
  • 1970-01-01
  • 2022-12-27
  • 2020-09-16
  • 2022-12-02
  • 2016-10-11
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
相关资源
最近更新 更多