当前位置:首页 > 生活资讯 > 正文内容

logfc怎么计算(logfc怎么取值)

2023-04-24 04:20:14生活资讯1

logfc怎么计算

您好,Log是日志的意思,主要用来记录软件运行中的错误信息。

1、在拨号界面,输入*#*#284#*#*。

2、手机连接电脑,在sdcard/MIUI找到debug_log文件夹,压缩一下发邮件给kefu@xiaomi.com,在邮件中要把你遇到的FC问题简要描述一下,这样更方便工程师快速处理。感谢您的支持,祝您生活愉快!

logfc怎么取值

“logFC”是表达水平差异的倍数的双倍对数。换句话说,值2表示四倍的差异。logFC是FC的对数值,意义就是“差值倍数”,其值的正负你要根据对照组来判断,对于“在一个库里面是正的,在另一个库里面是副的”,如果他们的对照组是同种类型的标本,那表达方向是不一致的。

logfc值

FC (fold change)也就是倍数改变,一般取两个样本的比值的均值,由于两个样本之间差异过大,为了缩小数值之间的差异,做对数转换,也就对应公式

Log 2FC=log 2 (mean (group1/group2)

注意:Immia 分析 log 2FC 公式定义不一样!!

logfc的意义

蓝屏代码0x00000073在电脑使用过程中突然电脑蓝屏0x00000073,您收到类似于以下内容的“停止”错误消息:

STOP:0x00000073(0x00000001,0xc000017d,0x00000002,0xfc96fcc0)CONFIG_LIST_FAILED蓝屏的原因:通常来说如果出现这个问题,基本上就是内存太小或者虚拟内存太小,当然我认为也有可能是内存条本身的问题。

此“停止”错误表明在Windows注册表中不能链接到核心Windows系统配置单元之一(SAM配置单元、SECURITY配置单元、SOFTWARE配置单元或DEFAULT配元)。

不过,出现0x00000073错误消息并不意味着此配置单元已损坏或未成功加载。解决办法:我们主要获取第二个参数的Windows状态代码,在本例中为STOP:0x00000073(0x00000001,0xc000017d,0x00000002,0xfc96fcc0)

?0xc000017d:STATUS_NO_LOG_SPACE是此错误最常见的原因之一。

此参数表明在系统驱动器上Windows没有足够的可用硬盘空间。从系统驱动器上释放一些磁盘空间可解决此问题。

?STOP:0x00000073(0x00000001,0xC000009A,0x00000002,0xfc96fcc0):STATUS_INSUFFICIENT_RESOURCES是此错误的另一个常见的原因。

此参数意味着没有足够的可用资源来完成API,这很可能表示Windows没有足够的内存(物理内存或分页文件内存)。

在很少的情况下此参数表示Windows内核用尽了分页池内存。

可以试试设置更大的虚拟内存空间或更换内存条来解决

logfc log2fc

1、注册服务

2、检测指定进程是否运行,如果没有运行,则运行进程

// WatchDogSvr.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include "Windows.h"

#include "tlhelp32.h"

SERVICE_STATUS m_ServiceStatus;

SERVICE_STATUS_HANDLE m_ServiceStatusHandle;

BOOL bRunning=true;

void WINAPI ServiceMain(DWORD argc, LPTSTR *argv);

void WINAPI ServiceCtrlHandler(DWORD Opcode);

BOOL InstallService();

BOOL DeleteService();

const int nBufSize=512;

void WriteLog(const char* strLog)

{

FILE * fp;

fp=fopen("C:\\WatchDog.log","a");

if( fp==NULL ) return;

//fputs(strLog,fp);

fprintf(fp,"%s\n",strLog);

fclose(fp);

}

int GetProcessCount(const TCHAR* szExeName)

{

TCHAR sztarget[MAX_PATH];

lstrcpy(sztarget, szExeName);

CharLowerBuff(sztarget, MAX_PATH);

int count = 0;

PROCESSENTRY32 my;

HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (((int)l) != -1)

{

my.dwSize = sizeof(my);

if (Process32First(l, &my))

{

do

{

CharLowerBuff(my.szExeFile, MAX_PATH);

if (lstrcmp(sztarget, my.szExeFile) == 0)

{

count++;

}

}while (Process32Next(l, &my));

}

CloseHandle(l);

}

return count;

}

void RunServiceProcess(const TCHAR *strServiceName)

{

//清空结构

STARTUPINFO sInfo;

PROCESS_INFORMATION pInfo;

ZeroMemory(&sInfo,sizeof(sInfo));

sInfo.cb=sizeof(sInfo);

sInfo.dwFlags=STARTF_USESHOWWINDOW;

sInfo.wShowWindow=SW_SHOWNORMAL;

ZeroMemory(&pInfo,sizeof(pInfo));

//输出出错信息

char chBuf[nBufSize];

ZeroMemory(chBuf,nBufSize);

//创建一个进程

if(!::CreateProcess(strServiceName,NULL,

NULL,

NULL,

FALSE,

0,

NULL,

NULL,

&sInfo,

&pInfo))

{

sprintf(chBuf,"CreateProcess failed(%d).\n",GetLastError());

WriteLog(chBuf);

return;

}

// Wait until child process exits.

WaitForSingleObject(pInfo.hProcess,INFINITE);

//关闭进程和线程的句柄

CloseHandle(pInfo.hProcess);

CloseHandle(pInfo.hThread);

}

void DoTask()

{

if( GetProcessCount(_T("SjkDataCollect.exe"))==0)

{

RunServiceProcess(_T("C:\\xxx.exe"));

WriteLog("can not find process [SjkDataCollect.exe] and run process!");

}

}

int _tmain(int argc, _TCHAR* argv[])

{

if(argc>1)

{

if( wcscmp(argv[1],L"-i")==0)

{

if(InstallService())

printf("\n Service Installed Sucessfully\n");

else

printf("\n Service has been installed\n");

}

else if(wcscmp(argv[1],L"-d")==0)

{

if(DeleteService())

printf("\n Service UnInstalled Sucessfully\n");

else

printf("\nInstalled Easin Central Service Not Found\n");

}

else

{

printf("\nUnknown Switch Usage\nFor Install use Servicetest -i\nFor UnInstall use Servicetest -d\n");

}

}

else

{

SERVICE_TABLE_ENTRY DispatchTable[]={{L"WatchDogSvr",ServiceMain},{NULL,NULL}};

StartServiceCtrlDispatcher(DispatchTable);

}

return 0;

}

void WINAPI ServiceMain(DWORD argc, LPTSTR *argv)

{

// DWORD status;

// DWORD specificError;

m_ServiceStatus.dwServiceType = SERVICE_WIN32;

m_ServiceStatus.dwCurrentState = SERVICE_START_PENDING;

m_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;

m_ServiceStatus.dwWin32ExitCode = 0;

m_ServiceStatus.dwServiceSpecificExitCode = 0;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

m_ServiceStatusHandle = RegisterServiceCtrlHandler(L"WatchDogSvr",ServiceCtrlHandler);

if (m_ServiceStatusHandle == (SERVICE_STATUS_HANDLE)0)

{

return;

}

m_ServiceStatus.dwCurrentState = SERVICE_RUNNING;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

if (!SetServiceStatus (m_ServiceStatusHandle,&m_ServiceStatus))

{

}

bRunning=true;

while(bRunning)

{

Sleep(3000);

//Place Your Code for processing here....

DoTask();

}

return;

}

void WINAPI ServiceCtrlHandler(DWORD Opcode)

{

switch(Opcode)

{

case SERVICE_CONTROL_PAUSE:

m_ServiceStatus.dwCurrentState = SERVICE_PAUSED;

break;

case SERVICE_CONTROL_CONTINUE:

m_ServiceStatus.dwCurrentState = SERVICE_RUNNING;

break;

case SERVICE_CONTROL_STOP:

m_ServiceStatus.dwWin32ExitCode = 0;

m_ServiceStatus.dwCurrentState = SERVICE_STOPPED;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

SetServiceStatus (m_ServiceStatusHandle,&m_ServiceStatus);

bRunning=false;

break;

case SERVICE_CONTROL_INTERROGATE:

break;

}

return;

}

BOOL InstallService()

{

WCHAR strDir[1024];

SC_HANDLE schSCManager,schService;

GetCurrentDirectory(1024,strDir);

lstrcat(strDi1、注册服务

2、检测指定进程是否运行,如果没有运行,则运行进程

// WatchDogSvr.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include "Windows.h"

#include "tlhelp32.h"

SERVICE_STATUS m_ServiceStatus;

SERVICE_STATUS_HANDLE m_ServiceStatusHandle;

BOOL bRunning=true;

void WINAPI ServiceMain(DWORD argc, LPTSTR *argv);

void WINAPI ServiceCtrlHandler(DWORD Opcode);

BOOL InstallService();

BOOL DeleteService();

const int nBufSize=512;

void WriteLog(const char* strLog)

{

FILE * fp;

fp=fopen("C:\\WatchDog.log","a");

if( fp==NULL ) return;

//fputs(strLog,fp);

fprintf(fp,"%s\n",strLog);

fclose(fp);

}

int GetProcessCount(const TCHAR* szExeName)

{

TCHAR sztarget[MAX_PATH];

lstrcpy(sztarget, szExeName);

CharLowerBuff(sztarget, MAX_PATH);

int count = 0;

PROCESSENTRY32 my;

HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (((int)l) != -1)

{

my.dwSize = sizeof(my);

if (Process32First(l, &my))

{

do

{

CharLowerBuff(my.szExeFile, MAX_PATH);

if (lstrcmp(sztarget, my.szExeFile) == 0)

{

count++;

}

}while (Process32Next(l, &my));

}

CloseHandle(l);

}

return count;

}

void RunServiceProcess(const TCHAR *strServiceName)

{

//清空结构

STARTUPINFO sInfo;

PROCESS_INFORMATION pInfo;

ZeroMemory(&sInfo,sizeof(sInfo));

sInfo.cb=sizeof(sInfo);

sInfo.dwFlags=STARTF_USESHOWWINDOW;

sInfo.wShowWindow=SW_SHOWNORMAL;

ZeroMemory(&pInfo,sizeof(pInfo));

//输出出错信息

char chBuf[nBufSize];

ZeroMemory(chBuf,nBufSize);

//创建一个进程

if(!::CreateProcess(strServiceName,NULL,

NULL,

NULL,

FALSE,

0,

NULL,

NULL,

&sInfo,

&pInfo))

{

sprintf(chBuf,"CreateProcess failed(%d).\n",GetLastError());

WriteLog(chBuf);

return;

}

// Wait until child process exits.

WaitForSingleObject(pInfo.hProcess,INFINITE);

//关闭进程和线程的句柄

CloseHandle(pInfo.hProcess);

CloseHandle(pInfo.hThread);

}

void DoTask()

{

if( GetProcessCount(_T("SjkDataCollect.exe"))==0)

{

RunServiceProcess(_T("C:\\xxx.exe"));

WriteLog("can not find process [SjkDataCollect.exe] and run process!");

}

}

int _tmain(int argc, _TCHAR* argv[])

{

if(argc>1)

{

if( wcscmp(argv[1],L"-i")==0)

{

if(InstallService())

printf("\n Service Installed Sucessfully\n");

else

printf("\n Service has been installed\n");

}

else if(wcscmp(argv[1],L"-d")==0)

{

if(DeleteService())

printf("\n Service UnInstalled Sucessfully\n");

else

printf("\nInstalled Easin Central Service Not Found\n");

}

else

{

printf("\nUnknown Switch Usage\nFor Install use Servicetest -i\nFor UnInstall use Servicetest -d\n");

}

}

else

{

SERVICE_TABLE_ENTRY DispatchTable[]={{L"WatchDogSvr",ServiceMain},{NULL,NULL}};

StartServiceCtrlDispatcher(DispatchTable);

}

return 0;

}

void WINAPI ServiceMain(DWORD argc, LPTSTR *argv)

{

// DWORD status;

// DWORD specificError;

m_ServiceStatus.dwServiceType = SERVICE_WIN32;

m_ServiceStatus.dwCurrentState = SERVICE_START_PENDING;

m_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;

m_ServiceStatus.dwWin32ExitCode = 0;

m_ServiceStatus.dwServiceSpecificExitCode = 0;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

m_ServiceStatusHandle = RegisterServiceCtrlHandler(L"WatchDogSvr",ServiceCtrlHandler);

if (m_ServiceStatusHandle == (SERVICE_STATUS_HANDLE)0)

{

return;

}

m_ServiceStatus.dwCurrentState = SERVICE_RUNNING;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

if (!SetServiceStatus (m_ServiceStatusHandle,&m_ServiceStatus))

{

}

bRunning=true;

while(bRunning)

{

Sleep(3000);

//Place Your Code for processing here....

DoTask();

}

return;

}

void WINAPI ServiceCtrlHandler(DWORD Opcode)

{

switch(Opcode)

{

case SERVICE_CONTROL_PAUSE:

m_ServiceStatus.dwCurrentState = SERVICE_PAUSED;

break;

case SERVICE_CONTROL_CONTINUE:

m_ServiceStatus.dwCurrentState = SERVICE_RUNNING;

break;

case SERVICE_CONTROL_STOP:

m_ServiceStatus.dwWin32ExitCode = 0;

m_ServiceStatus.dwCurrentState = SERVICE_STOPPED;

m_ServiceStatus.dwCheckPoint = 0;

m_ServiceStatus.dwWaitHint = 0;

SetServiceStatus (m_ServiceStatusHandle,&m_ServiceStatus);

bRunning=false;

break;

case SERVICE_CONTROL_INTERROGATE:

break;

}

return;

}

BOOL InstallService()

{

WCHAR strDir[1024];

SC_HANDLE schSCManager,schService;

GetCurrentDirectory(1024,strDir);

lstrcat(strDir,L"\\WatchDogSvr.exe");

schSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);

if (schSCManager == NULL)

return false;r,L"\\WatchDogSvr.exe");

schSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);

if (schSCManager == NULL)

return false;

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98794684.html