cuiliang / Quicker

Quicker软件反馈repo
https://getquicker.net
547 stars 29 forks source link

因为动作剪贴板动作导致quicker崩溃 #2095

Open luoluoluo22 opened 7 months ago

luoluoluo22 commented 7 months ago

描述BUG 因为动作 剪贴板 动作导致quicker崩溃,这个问题是前两天刚出现,之前剪贴板动作是正常的。

重现步骤 Steps to reproduce the behavior: 1.在使用截图软件 PixPin1v1.7.6.0 时 按住快捷键f1时。偶然会出现

相关截图 如果适用,请添加屏幕截图以帮助解释您的问题。 image

image image

环境信息:

附加信息 这个问题偶然会出现,估计是动作本身的问题导致与quicker冲突,我出现问题之后更新最新版之后依然存在问题 image

这是调试窗口信息: Exception: constraint failed NOT NULL constraint failed: ClipboardItem.SubIndex StackTrace: 在 FreeSql.Internal.CommonProvider.AdoProvider.LoggerException(IObjectPool1 pool, PrepareCommandResult pc, Exception ex, DateTime dt, StringBuilder logtxt, Boolean isThrowException) 在 FreeSql.Internal.CommonProvider.AdoProvider.ExecuteScalar(DbConnection connection, DbTransaction transaction, CommandType cmdType, String cmdText, Int32 cmdTimeout, DbParameter[] cmdParms) 在 FreeSql.Sqlite.Curd.SqliteInsert1.RawExecuteIdentity() 在 FreeSql.Internal.CommonProvider.InsertProvider1.SplitExecuteIdentity(Int32 valuesLimit, Int32 parameterLimit) 在 FreeSql.Sqlite.Curd.SqliteInsert1.ExecuteIdentity() 在 FreeSql.DbSet1.AddPriv(TEntity data, Boolean isCheck) 在 FreeSql.DbSet1.Add(TEntity data) 在 FreeSql.BaseRepository`1.Insert(TEntity entity) 在 IntelliTools.Domain.MyClipboard.ClipItem.CreateAndSave(ClipItemBase item) 在 IntelliTools.View.BackgroundWindow.CollectClipItem(ClipItemBase item) 在 IntelliTools.View.BackgroundWindow.LasyOnClipboardChanged() 在 IntelliTools.View.BackgroundWindow.Timer_Tick(Object sender, EventArgs e) 在 System.Windows.Threading.DispatcherTimer.FireTick(Object unused) 在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

SQLiteException: constraint failed NOT NULL constraint failed: ClipboardItem.SubIndex --ResultCode: Constraint --ErrorCode: 19 StackTrace: 在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) 在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) 在 System.Data.SQLite.SQLiteDataReader.NextResult() 在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) 在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) 在 System.Data.SQLite.SQLiteCommand.ExecuteScalar(CommandBehavior behavior) 在 FreeSql.Internal.CommonProvider.AdoProvider.ExecuteScalar(DbConnection connection, DbTransaction transaction, CommandType cmdType, String cmdText, Int32 cmdTimeout, DbParameter[] cmdParms)

cuiliang commented 7 months ago

剪贴板动作是c#程序,运行在quicker进程中,所以如果它出错了,是会导致quicker崩溃的。 这个现象可能是因为PixPin所写入剪贴板的内容不是很正常导致了问题。 请在动作网页中反馈,提供复现问题的详细步骤,等作者大佬有空看看吧(Cea大佬学业比较繁忙)。 另外如果剪贴板里没有重要的数据,也可以尝试删除重建一下剪贴板数据库。(userdata.db,退出quicker后删除或重命名成别的文件)